pub struct ExecutionState { /* private fields */ }Expand description
Frames, locals, operands, and private execution state for one invocation.
The module is supplied by reference at entry and is never stored here.
Implementations§
Source§impl ExecutionState
impl ExecutionState
Sourcepub fn stack(&self) -> &[Word] ⓘ
pub fn stack(&self) -> &[Word] ⓘ
Materialized locals and operands, or results after the outermost return.
Sourcepub fn start<I, V, Ty, Info>(
&mut self,
module: &LocalModule<I, V, Ty, Info>,
arguments: &[Word],
) -> Result<()>
pub fn start<I, V, Ty, Info>( &mut self, module: &LocalModule<I, V, Ty, Info>, arguments: &[Word], ) -> Result<()>
Enter main using its module metadata and host-supplied arguments.
Entry creates the outermost frame, zeroes non-argument locals, selects the function’s first instruction, and clears the halt flag. A halted invocation can be replaced while reusing allocated storage.
§Errors
Rejects an active invocation, invalid metadata/target, a wrong argument count, or allocation failure, preserving the preceding logical state.
Trait Implementations§
Source§impl Capabilities for ExecutionState
impl Capabilities for ExecutionState
Source§const DESCRIPTION: &'static Description
const DESCRIPTION: &'static Description
Raw generated data. Internal reporting uses the validated
capabilities.Source§impl Clone for ExecutionState
impl Clone for ExecutionState
impl Component for ExecutionState
Source§impl Debug for ExecutionState
impl Debug for ExecutionState
Source§impl Default for ExecutionState
impl Default for ExecutionState
Source§impl Execute<Branch> for ExecutionState
impl Execute<Branch> for ExecutionState
Source§impl Execute<Call> for ExecutionState
impl Execute<Call> for ExecutionState
Source§impl Execute<ConditionalBranch> for ExecutionState
impl Execute<ConditionalBranch> for ExecutionState
Source§impl Execute<ConstBool> for ExecutionState
impl Execute<ConstBool> for ExecutionState
Source§impl Execute<ConstF32> for ExecutionState
impl Execute<ConstF32> for ExecutionState
Source§impl Execute<ConstF64> for ExecutionState
impl Execute<ConstF64> for ExecutionState
Source§impl Execute<ConstFunctionRef> for ExecutionState
impl Execute<ConstFunctionRef> for ExecutionState
Source§impl Execute<ConstHeapRef> for ExecutionState
impl Execute<ConstHeapRef> for ExecutionState
Source§impl Execute<ConstI32> for ExecutionState
impl Execute<ConstI32> for ExecutionState
Source§impl Execute<ConstI64> for ExecutionState
impl Execute<ConstI64> for ExecutionState
Source§impl Execute<ConstString> for ExecutionState
impl Execute<ConstString> for ExecutionState
Source§impl Execute<ConstU32> for ExecutionState
impl Execute<ConstU32> for ExecutionState
Source§impl Execute<ConstU64> for ExecutionState
impl Execute<ConstU64> for ExecutionState
Source§impl Execute<Dup> for ExecutionState
impl Execute<Dup> for ExecutionState
Source§impl Execute<Halt> for ExecutionState
impl Execute<Halt> for ExecutionState
Source§impl Execute<IndirectCall> for ExecutionState
impl Execute<IndirectCall> for ExecutionState
Source§impl Execute<LoadBool> for ExecutionState
impl Execute<LoadBool> for ExecutionState
Source§impl Execute<LoadF32> for ExecutionState
impl Execute<LoadF32> for ExecutionState
Source§impl Execute<LoadF64> for ExecutionState
impl Execute<LoadF64> for ExecutionState
Source§impl Execute<LoadI32> for ExecutionState
impl Execute<LoadI32> for ExecutionState
Source§impl Execute<LoadI64> for ExecutionState
impl Execute<LoadI64> for ExecutionState
Source§impl Execute<LoadU32> for ExecutionState
impl Execute<LoadU32> for ExecutionState
Source§impl Execute<LoadU64> for ExecutionState
impl Execute<LoadU64> for ExecutionState
Source§impl Execute<Return> for ExecutionState
impl Execute<Return> for ExecutionState
Source§impl Execute<StoreBool> for ExecutionState
impl Execute<StoreBool> for ExecutionState
Source§impl Execute<StoreF32> for ExecutionState
impl Execute<StoreF32> for ExecutionState
Source§impl Execute<StoreF64> for ExecutionState
impl Execute<StoreF64> for ExecutionState
Source§impl Execute<StoreI32> for ExecutionState
impl Execute<StoreI32> for ExecutionState
Source§impl Execute<StoreI64> for ExecutionState
impl Execute<StoreI64> for ExecutionState
Source§impl Execute<StoreU32> for ExecutionState
impl Execute<StoreU32> for ExecutionState
Source§impl Execute<StoreU64> for ExecutionState
impl Execute<StoreU64> for ExecutionState
Source§impl PopStack<f32> for ExecutionState
impl PopStack<f32> for ExecutionState
Source§impl PopStack<f64> for ExecutionState
impl PopStack<f64> for ExecutionState
Source§impl PopStack<u64> for ExecutionState
impl PopStack<u64> for ExecutionState
Source§impl PushStack<f32> for ExecutionState
impl PushStack<f32> for ExecutionState
Source§impl PushStack<f64> for ExecutionState
impl PushStack<f64> for ExecutionState
Source§impl PushStack<u64> for ExecutionState
impl PushStack<u64> for ExecutionState
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<D> Apply<PushToStack<()>> for D
impl<D> Apply<PushToStack<()>> for D
Source§fn apply(&mut self, _: PushToStack<()>)
fn apply(&mut self, _: PushToStack<()>)
Apply a single effect to this destination.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].