Settings
Help

Module stack

Module stack 

Source

StructsΒ§

ArgSlice πŸ”’
Type representing a slice of arguments on the stack. Used to avoid allocations and copies when calling functions.
ByteFrame πŸ”’
CallFrame πŸ”’
A function call Frame.
Frame πŸ”’
A function call frame. These mirror the lisp call stack and are used to display backtraces as well as return.
FrameStore πŸ”’
LispStack πŸ”’
The stack of lisp objects used to pass and store arguments in the bytecode VM and interpreter. The top of the stack is index 0 and all indexing functions operate from top to bottom. The stack is partitioned into frames. Each frame represents a function call and it’s arguments. The API is designed so that code cannot access elements outside of their frame (doing so results in a panic). Frames are added and removed with push_frame and pop_frame respectively.
RootedByteFrame πŸ”’
Automatically derived from ByteFrame via #[derive(Trace)]
RootedFrameStore πŸ”’
Automatically derived from FrameStore via #[derive(Trace)]
RootedLispStack πŸ”’
Automatically derived from LispStack via #[derive(Trace)]

ConstantsΒ§

derive_trace_ByteFrame πŸ”’
derive_trace_FrameStore πŸ”’
derive_trace_LispStack πŸ”’