Module bytecode

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

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 nil argument should be added to the stack.