pub struct CallFrame {}Expand description
Minimal call frame: 16 bytes of metadata, no closure/upvalue fields.
Fields§
§fn_id: u32Index into CodeStore::functions.
ip: u32Current instruction pointer (byte offset into FnChunk::code).
bp: u32Base pointer: index into VM stack where this frame’s locals start.
local_count: u16Number of local slots (params + local bindings).
arena_mark: u32Arena length at function entry; allocations above this mark are local to the frame unless promoted on return/tail-call.
yard_base: u32Yard length at function entry; reused TCO frames compact this suffix so loop-carried survivors do not accumulate across iterations.
yard_mark: u32Current yard suffix owned by this frame iteration. Reused TCO frames may advance this mark so older carried survivors become the shared prefix for the next iteration.
handoff_mark: u32Handoff length at function entry; ordinary returns compact this suffix so helper results can survive into the caller without polluting stable.
globals_dirty: boolWhether this frame stored a young-region value into globals.
yard_dirty: boolWhether ordinary returns introduced caller-yard survivors that should be pruned on the next tail-call boundary.
handoff_dirty: boolWhether helper returns introduced handoff survivors that should be pruned on the next boundary of this frame.
thin: boolConservatively classified as cheap enough for a fast return path.
parent_thin: boolUses the caller young region as its allocation lane and skips ordinary-return handoff while it remains a pure wrapper frame.