Expand description
The main bytecode interpeter.
Modulesยง
- opcode ๐
Structsยง
- Handler ๐
- A handler for a condition-case. These are stored in a vector in the VM and added/removed via bytecodes.
- Program
Counter ๐ - An program counter. This is implemented as a bound checked range pointer.
- Rooted
Handler ๐ - 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.
Constantsยง
- derive_
trace_ ๐Handler - derive_
trace_ ๐VM
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
nilargument should be added to the stack.