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.