[][src]Struct wasmer_clif_fork_wasm::FuncTranslationState

pub struct FuncTranslationState {
    pub stack: Vec<Value>,
    pub control_stack: Vec<ControlStackFrame>,
    pub reachable: bool,
    // some fields omitted
}

Contains information passed along during a function's translation and that records:

  • The current value and control stacks.
  • The depth of the two unreachable control blocks stacks, that are manipulated when translating unreachable code;

Fields

stack: Vec<Value>

A stack of values corresponding to the active values in the input wasm function at this point.

control_stack: Vec<ControlStackFrame>

A stack of active control flow operations at this point in the input wasm function.

reachable: bool

Is the current translation state still reachable? This is false when translating operators like End, Return, or Unreachable.

Methods

impl FuncTranslationState[src]

pub fn reachable(&self) -> bool[src]

True if the current translation state expresses reachable code, false if it is unreachable.

impl FuncTranslationState[src]

pub fn initialize(&mut self, sig: &Signature, exit_block: Block)[src]

Initialize the state for compiling a function with the given signature.

This resets the state to containing only a single block representing the whole function. The exit block is the last block in the function which will contain the return instruction.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.