pub struct ExecutionState {Show 15 fields
pub version: u32,
pub runtime: RuntimeKind,
pub capabilities: RuntimeCapabilities,
pub program: Option<String>,
pub instruction_position: Option<String>,
pub stack_frames: Vec<StackFrame>,
pub globals_root: Option<ObjectId>,
pub locals_root: Option<ObjectId>,
pub heap: Value,
pub pending_exception: Option<ExceptionInfo>,
pub async_state: Option<Value>,
pub granted_capabilities: Vec<String>,
pub runtime_metadata: IndexMap<String, Value>,
pub migration_metadata: IndexMap<String, Value>,
pub conversion_policy: ConversionPolicy,
}Expand description
Language-neutral execution state.
Not every runtime populates every field. Consult capabilities.
Fields§
§version: u32Schema version for this state blob.
runtime: RuntimeKindOrigin runtime.
capabilities: RuntimeCapabilitiesDeclared capabilities at capture time.
program: Option<String>Program identity / source reference.
instruction_position: Option<String>Instruction / bytecode position when known.
stack_frames: Vec<StackFrame>Stack frames (experimental; often empty).
globals_root: Option<ObjectId>Global bindings as a PIR object graph reference root.
locals_root: Option<ObjectId>Local bindings root.
heap: ValueHeap / object graph encoded as PIR document bytes or embedded JSON.
Concrete PIR lives in parallax-ir; here we store a serialized document.
pending_exception: Option<ExceptionInfo>Pending exception if any.
async_state: Option<Value>Async state placeholder.
granted_capabilities: Vec<String>Capability tokens granted to the execution.
runtime_metadata: IndexMap<String, Value>Free-form runtime metadata.
migration_metadata: IndexMap<String, Value>Migration metadata.
conversion_policy: ConversionPolicyConversion policy used when producing this state.
Implementations§
Source§impl ExecutionState
impl ExecutionState
Sourcepub fn empty(runtime: RuntimeKind, capabilities: RuntimeCapabilities) -> Self
pub fn empty(runtime: RuntimeKind, capabilities: RuntimeCapabilities) -> Self
Create an empty state shell for a runtime.
Trait Implementations§
Source§impl Clone for ExecutionState
impl Clone for ExecutionState
Source§impl Debug for ExecutionState
impl Debug for ExecutionState
Source§impl<'de> Deserialize<'de> for ExecutionState
impl<'de> Deserialize<'de> for ExecutionState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecutionState
impl RefUnwindSafe for ExecutionState
impl Send for ExecutionState
impl Sync for ExecutionState
impl Unpin for ExecutionState
impl UnsafeUnpin for ExecutionState
impl UnwindSafe for ExecutionState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more