Trait wasmer::Tunables[][src]

pub trait Tunables: MemoryUsage {
    fn memory_style(&self, memory: &MemoryType) -> MemoryStyle;
fn table_style(&self, table: &TableType) -> TableStyle;
fn create_host_memory(
        &self,
        ty: &MemoryType,
        style: &MemoryStyle
    ) -> Result<Arc<dyn Memory + 'static>, MemoryError>;
unsafe fn create_vm_memory(
        &self,
        ty: &MemoryType,
        style: &MemoryStyle,
        vm_definition_location: NonNull<VMMemoryDefinition>
    ) -> Result<Arc<dyn Memory + 'static>, MemoryError>;
fn create_host_table(
        &self,
        ty: &TableType,
        style: &TableStyle
    ) -> Result<Arc<dyn Table + 'static>, String>;
unsafe fn create_vm_table(
        &self,
        ty: &TableType,
        style: &TableStyle,
        vm_definition_location: NonNull<VMTableDefinition>
    ) -> Result<Arc<dyn Table + 'static>, String>; fn create_global(&self, ty: GlobalType) -> Result<Arc<Global>, String> { ... }
unsafe fn create_memories(
        &self,
        module: &ModuleInfo,
        memory_styles: &PrimaryMap<MemoryIndex, MemoryStyle>,
        memory_definition_locations: &[NonNull<VMMemoryDefinition>]
    ) -> Result<PrimaryMap<LocalMemoryIndex, Arc<dyn Memory + 'static>>, LinkError> { ... }
unsafe fn create_tables(
        &self,
        module: &ModuleInfo,
        table_styles: &PrimaryMap<TableIndex, TableStyle>,
        table_definition_locations: &[NonNull<VMTableDefinition>]
    ) -> Result<PrimaryMap<LocalTableIndex, Arc<dyn Table + 'static>>, LinkError> { ... }
fn create_globals(
        &self,
        module: &ModuleInfo
    ) -> Result<PrimaryMap<LocalGlobalIndex, Arc<Global>>, LinkError> { ... } }
Expand description

An engine delegates the creation of memories, tables, and globals to a foreign implementor of this trait.

Required methods

Construct a MemoryStyle for the provided MemoryType

Construct a TableStyle for the provided TableType

Create a memory owned by the host given a MemoryType and a MemoryStyle.

Create a memory owned by the VM given a MemoryType and a MemoryStyle.

Safety

  • vm_definition_location must point to a valid location in VM memory.

Create a table owned by the host given a TableType and a TableStyle.

Create a table owned by the VM given a TableType and a TableStyle.

Safety

  • vm_definition_location must point to a valid location in VM memory.

Provided methods

Create a global with an unset value.

Allocate memory for just the memories of the current module.

Allocate memory for just the tables of the current module.

Allocate memory for just the globals of the current module, with initializers applied.

Implementors

Get a MemoryStyle for the provided MemoryType

Get a TableStyle for the provided TableType.

Create a memory owned by the host given a MemoryType and a MemoryStyle.

Create a memory owned by the VM given a MemoryType and a MemoryStyle.

Safety

  • vm_definition_location must point to a valid, owned VMMemoryDefinition, for example in VMContext.

Create a table owned by the host given a TableType and a TableStyle.

Create a table owned by the VM given a TableType and a TableStyle.

Safety

  • vm_definition_location must point to a valid, owned VMTableDefinition, for example in VMContext.