Struct wasmtime_runtime::Memory [−][src]
pub struct Memory { /* fields omitted */ }Expand description
Represents an instantiation of a WebAssembly memory.
Implementations
impl Memory[src]
impl Memory[src]pub fn new_dynamic(
plan: &MemoryPlan,
creator: &dyn RuntimeMemoryCreator,
limiter: Option<&Rc<dyn ResourceLimiter>>
) -> Result<Self>[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]
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 maximum(&self) -> Option<u32>[src]
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]
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]
pub fn vmmemory(&self) -> VMMemoryDefinition[src]Return a VMMemoryDefinition for exposing the memory to compiled wasm code.
Trait Implementations
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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,