pub struct PoolingInstanceAllocator { /* private fields */ }
Expand description
Implements the pooling instance allocator.
This allocator internally maintains pools of instances, memories, tables, and stacks.
Note: the resource pools are manually dropped so that the fault handler terminates correctly.
Implementations
sourceimpl PoolingInstanceAllocator
impl PoolingInstanceAllocator
sourcepub fn new(
strategy: PoolingAllocationStrategy,
instance_limits: InstanceLimits,
stack_size: usize,
tunables: &Tunables,
async_stack_zeroing: bool
) -> Result<Self>
pub fn new(
strategy: PoolingAllocationStrategy,
instance_limits: InstanceLimits,
stack_size: usize,
tunables: &Tunables,
async_stack_zeroing: bool
) -> Result<Self>
Creates a new pooling instance allocator with the given strategy and limits.
Trait Implementations
sourceimpl Debug for PoolingInstanceAllocator
impl Debug for PoolingInstanceAllocator
sourceimpl InstanceAllocator for PoolingInstanceAllocator
impl InstanceAllocator for PoolingInstanceAllocator
sourcefn validate(&self, module: &Module) -> Result<()>
fn validate(&self, module: &Module) -> Result<()>
Validates that a module is supported by the allocator.
sourcefn adjust_tunables(&self, tunables: &mut Tunables)
fn adjust_tunables(&self, tunables: &mut Tunables)
Adjusts the tunables prior to creation of any JIT compiler. Read more
sourceunsafe fn allocate(
&self,
req: InstanceAllocationRequest<'_>
) -> Result<InstanceHandle, InstantiationError>
unsafe fn allocate(
&self,
req: InstanceAllocationRequest<'_>
) -> Result<InstanceHandle, InstantiationError>
Allocates an instance for the given allocation request. Read more
sourceunsafe fn initialize(
&self,
handle: &mut InstanceHandle,
module: &Module,
is_bulk_memory: bool
) -> Result<(), InstantiationError>
unsafe fn initialize(
&self,
handle: &mut InstanceHandle,
module: &Module,
is_bulk_memory: bool
) -> Result<(), InstantiationError>
Finishes the instantiation process started by an instance allocator. Read more
sourceunsafe fn deallocate(&self, handle: &InstanceHandle)
unsafe fn deallocate(&self, handle: &InstanceHandle)
Deallocates a previously allocated instance. Read more
sourcefn allocate_fiber_stack(&self) -> Result<FiberStack, FiberStackError>
fn allocate_fiber_stack(&self) -> Result<FiberStack, FiberStackError>
Allocates a fiber stack for calling async functions on.
sourceunsafe fn deallocate_fiber_stack(&self, stack: &FiberStack)
unsafe fn deallocate_fiber_stack(&self, stack: &FiberStack)
Deallocates a fiber stack that was previously allocated with allocate_fiber_stack
. Read more
Auto Trait Implementations
impl RefUnwindSafe for PoolingInstanceAllocator
impl Send for PoolingInstanceAllocator
impl Sync for PoolingInstanceAllocator
impl Unpin for PoolingInstanceAllocator
impl UnwindSafe for PoolingInstanceAllocator
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more