ObjectSlots

The layout of object slots for my instances.

Entries

Link copied to clipboard

The continuation that invoked this one, or nil for the outermost continuation. When a continuation is not directly created by an L1Operation.L1Ext_doPushLabel, it will have a type pushed on it. This type is checked against any value that the callee attempts to return to it. This supports link-time type strengthening at call sites.

Link copied to clipboard

The function being executed via this continuation.

Link copied to clipboard

The L2Chunk which can be resumed directly by the Interpreter to effect continued execution.

Link copied to clipboard

An instance of ContinuationRegisterDumpDescriptor, which holds a collection of AvailObject and Long values. These values are stored in the continuation for an L2Chunk to use as it wishes, but it's simply ignored when a chunk becomes invalid, since the unoptimizedChunk and its L1InstructionStepper always rely solely on the pure L1 state.

Link copied to clipboard

The slots allocated for locals, arguments, and stack entries. The arguments are first, then the locals, and finally the stack entries (growing downwards from the top). At its deepest, the stack slots will abut the last local.

Properties

Link copied to clipboard
val name: String
Link copied to clipboard
val ordinal: Int