Enum wasmtime_environ::InitMemory

source ·
pub enum InitMemory<'a, T> {
    CompileTime(&'a Module),
    Runtime {
        memory_size_in_pages: &'a dyn Fn(&mut T, MemoryIndex) -> u64,
        get_global_as_u64: &'a dyn Fn(&mut T, GlobalIndex) -> u64,
    },
}
Expand description

Argument to MemoryInitialization::init_memory indicating the current status of the instance.

Variants§

§

CompileTime(&'a Module)

This evaluation of memory initializers is happening at compile time. This means that the current state of memories is whatever their initial state is, and additionally globals are not available if data segments have global offsets.

§

Runtime

Evaluation of memory initializers is happening at runtime when the instance is available, and callbacks are provided to learn about the instance’s state.

Fields

§memory_size_in_pages: &'a dyn Fn(&mut T, MemoryIndex) -> u64

Returns the size, in wasm pages, of the the memory specified.

§get_global_as_u64: &'a dyn Fn(&mut T, GlobalIndex) -> u64

Returns the value of the global, as a u64. Note that this may involve zero-extending a 32-bit global to a 64-bit number.

Auto Trait Implementations§

§

impl<'a, T> Freeze for InitMemory<'a, T>

§

impl<'a, T> !RefUnwindSafe for InitMemory<'a, T>

§

impl<'a, T> !Send for InitMemory<'a, T>

§

impl<'a, T> !Sync for InitMemory<'a, T>

§

impl<'a, T> Unpin for InitMemory<'a, T>

§

impl<'a, T> !UnwindSafe for InitMemory<'a, T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.