Settings
Help

Module bytecode

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.