Struct wasmtime_runtime::Memory[][src]

pub struct Memory { /* fields omitted */ }
Expand description

Represents an instantiation of a WebAssembly memory.

Implementations

impl Memory[src]

pub fn new_dynamic(
    plan: &MemoryPlan,
    creator: &dyn RuntimeMemoryCreator,
    limiter: Option<&Rc<dyn ResourceLimiter>>
) -> Result<Self>
[src]

Create a new dynamic (movable) memory instance for the specified plan.

pub fn new_static(
    plan: &MemoryPlan,
    base: *mut u8,
    maximum: u32,
    make_accessible: fn(_: *mut u8, _: usize) -> Result<()>,
    limiter: Option<&Rc<dyn ResourceLimiter>>
) -> Result<Self>
[src]

Create a new static (immovable) memory instance for the specified plan.

pub fn size(&self) -> u32[src]

Returns the number of allocated wasm pages.

pub fn maximum(&self) -> Option<u32>[src]

Returns the maximum number of pages the memory can grow to at runtime.

Returns None if the memory is unbounded.

The runtime maximum may not be equal to the maximum from the linear memory’s Wasm type when it is being constrained by an instance allocator.

pub unsafe fn grow(&self, delta: u32) -> Option<u32>[src]

Grow memory by the specified amount of wasm pages.

Returns None if memory can’t be grown by the specified amount of wasm pages.

Safety

Resizing the memory can reallocate the memory buffer for dynamic memories. An instance’s VMContext may have pointers to the memory’s base and will need to be fixed up after growing the memory.

Generally, prefer using InstanceHandle::memory_grow, which encapsulates this unsafety.

pub fn vmmemory(&self) -> VMMemoryDefinition[src]

Return a VMMemoryDefinition for exposing the memory to compiled wasm code.

Trait Implementations

impl Default for Memory[src]

fn default() -> Self[src]

Returns the “default value” for a type. Read more

Auto Trait Implementations

impl !RefUnwindSafe for Memory

impl !Send for Memory

impl !Sync for Memory

impl Unpin for Memory

impl !UnwindSafe for Memory

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

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

Performs the conversion.

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.

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

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V