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.