Struct wasmi::StackRecycler[][src]

pub struct StackRecycler { /* fields omitted */ }

Used to recycle stacks instead of allocating them repeatedly.

Implementations

impl StackRecycler[src]

pub fn with_limits(value_stack_limit: usize, call_stack_limit: usize) -> Self[src]

Limit stacks created by this recycler to

  • value_stack_limit bytes for values and
  • call_stack_limit levels for calls.

pub fn clear(&mut self)[src]

Clears any values left on the stack to avoid leaking them to future export invocations.

This is a secondary defense to prevent modules from exploiting faulty stack handling in the interpreter.

Do note that there are additional channels that can leak information into an untrusted module.

Trait Implementations

impl Default for StackRecycler[src]

Auto Trait Implementations

impl !RefUnwindSafe for StackRecycler

impl !Send for StackRecycler

impl !Sync for StackRecycler

impl Unpin for StackRecycler

impl !UnwindSafe for StackRecycler

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.