rune::core::env

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)]