rune

Module bytecode

Source
Expand description

The main bytecode interpeter.

Modulesยง

Structsยง

  • Handler ๐Ÿ”’
    A handler for a condition-case. These are stored in a vector in the VM and added/removed via bytecodes.
  • ProgramCounter ๐Ÿ”’
    An program counter. This is implemented as a bound checked range pointer.
  • RootedHandler ๐Ÿ”’
    Automatically derived from Handler via #[derive(Trace)]
  • RootedVM ๐Ÿ”’
    Automatically derived from VM via #[derive(Trace)]
  • VM ๐Ÿ”’
    The bytecode VM. This hold all the current call frames and handlers. The execution stack is part of the Environment.

Functionsยง

  • byte_code ๐Ÿ”’
  • call ๐Ÿ”’
  • fetch_bytecode ๐Ÿ”’
  • num_of_fill_args ๐Ÿ”’
    Number of arguments needed to fill out the remaining slots on the stack. If a function has 3 required args and 2 optional, and it is called with 4 arguments, then 1 will be returned. Indicating that 1 additional nil argument should be added to the stack.