Struct wasmer_near::BaseTunables [−][src]
pub struct BaseTunables {
pub static_memory_bound: Pages,
pub static_memory_offset_guard_size: u64,
pub dynamic_memory_offset_guard_size: u64,
}
Expand description
Tunable parameters for WebAssembly compilation.
This is the reference implementation of the Tunables
trait,
used by default.
You can use this as a template for creating a custom Tunables implementation or use composition to wrap your Tunables around this one. The later approach is demonstrated in the tunables-limit-memory example.
Fields
static_memory_bound: Pages
For static heaps, the size in wasm pages of the heap protected by bounds checking.
static_memory_offset_guard_size: u64
The size in bytes of the offset guard for static heaps.
dynamic_memory_offset_guard_size: u64
The size in bytes of the offset guard for dynamic heaps.
Implementations
Get the BaseTunables
for a specific Target
Trait Implementations
Returns the size of the referenced value in bytes. Read more
Get a MemoryStyle
for the provided MemoryType
Get a TableStyle
for the provided TableType
.
fn create_host_memory(
&self,
ty: &MemoryType,
style: &MemoryStyle
) -> Result<Arc<dyn Memory>, MemoryError>
fn create_host_memory(
&self,
ty: &MemoryType,
style: &MemoryStyle
) -> Result<Arc<dyn Memory>, MemoryError>
Create a memory owned by the host given a MemoryType
and a MemoryStyle
.
unsafe fn create_vm_memory(
&self,
ty: &MemoryType,
style: &MemoryStyle,
vm_definition_location: NonNull<VMMemoryDefinition>
) -> Result<Arc<dyn Memory>, MemoryError>
unsafe fn create_vm_memory(
&self,
ty: &MemoryType,
style: &MemoryStyle,
vm_definition_location: NonNull<VMMemoryDefinition>
) -> Result<Arc<dyn Memory>, MemoryError>
Create a memory owned by the VM given a MemoryType
and a MemoryStyle
.
Safety
vm_definition_location
must point to a valid, ownedVMMemoryDefinition
, for example inVMContext
.
fn create_host_table(
&self,
ty: &TableType,
style: &TableStyle
) -> Result<Arc<dyn Table>, String>
fn create_host_table(
&self,
ty: &TableType,
style: &TableStyle
) -> Result<Arc<dyn Table>, String>
Create a table owned by the host given a TableType
and a TableStyle
.
unsafe fn create_vm_table(
&self,
ty: &TableType,
style: &TableStyle,
vm_definition_location: NonNull<VMTableDefinition>
) -> Result<Arc<dyn Table>, String>
unsafe fn create_vm_table(
&self,
ty: &TableType,
style: &TableStyle,
vm_definition_location: NonNull<VMTableDefinition>
) -> Result<Arc<dyn Table>, String>
Create a table owned by the VM given a TableType
and a TableStyle
.
Safety
vm_definition_location
must point to a valid, ownedVMTableDefinition
, for example inVMContext
.
Create a global with an unset value.
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_memories(
&self,
module: &ModuleInfo,
memory_styles: &PrimaryMap<MemoryIndex, MemoryStyle>,
memory_definition_locations: &[NonNull<VMMemoryDefinition>]
) -> Result<PrimaryMap<LocalMemoryIndex, Arc<dyn Memory + 'static>>, LinkError>
Allocate memory for just the memories of the current module.
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>
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>
Allocate memory for just the tables of the current module.
fn create_globals(
&self,
module: &ModuleInfo
) -> Result<PrimaryMap<LocalGlobalIndex, Arc<Global>>, LinkError>
fn create_globals(
&self,
module: &ModuleInfo
) -> Result<PrimaryMap<LocalGlobalIndex, Arc<Global>>, LinkError>
Allocate memory for just the globals of the current module, with initializers applied. Read more
Auto Trait Implementations
impl RefUnwindSafe for BaseTunables
impl Send for BaseTunables
impl Sync for BaseTunables
impl Unpin for BaseTunables
impl UnwindSafe for BaseTunables
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more