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§
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.