Struct wasmtime_environ::VMOffsets
source · pub struct VMOffsets<P> {
pub ptr: P,
pub num_imported_functions: u32,
pub num_imported_tables: u32,
pub num_imported_memories: u32,
pub num_imported_globals: u32,
pub num_defined_tables: u32,
pub num_defined_memories: u32,
pub num_owned_memories: u32,
pub num_defined_globals: u32,
pub num_escaped_funcs: u32,
/* private fields */
}Expand description
This class computes offsets to fields within VMContext and other
related structs that JIT code accesses directly.
Fields§
§ptr: PThe size in bytes of a pointer on the target.
num_imported_functions: u32The number of imported functions in the module.
num_imported_tables: u32The number of imported tables in the module.
num_imported_memories: u32The number of imported memories in the module.
num_imported_globals: u32The number of imported globals in the module.
num_defined_tables: u32The number of defined tables in the module.
num_defined_memories: u32The number of defined memories in the module.
num_owned_memories: u32The number of memories owned by the module instance.
num_defined_globals: u32The number of defined globals in the module.
num_escaped_funcs: u32The number of escaped functions in the module, the size of the anyfuncs array.
Implementations§
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
sourcepub fn new(ptr: P, module: &Module) -> Self
pub fn new(ptr: P, module: &Module) -> Self
Return a new VMOffsets instance, for a given pointer size.
sourcepub fn pointer_size(&self) -> u8
pub fn pointer_size(&self) -> u8
Returns the size, in bytes, of the target
sourcepub fn region_sizes(&self) -> impl Iterator<Item = (&str, u32)>
pub fn region_sizes(&self) -> impl Iterator<Item = (&str, u32)>
Returns an iterator which provides a human readable description and a
byte size. The iterator returned will iterate over the bytes allocated
to the entire VMOffsets structure to explain where each byte size is
coming from.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
sourcepub fn vmfunction_import_body(&self) -> u8
pub fn vmfunction_import_body(&self) -> u8
The offset of the body field.
sourcepub fn vmfunction_import_vmctx(&self) -> u8
pub fn vmfunction_import_vmctx(&self) -> u8
The offset of the vmctx field.
sourcepub fn size_of_vmfunction_import(&self) -> u8
pub fn size_of_vmfunction_import(&self) -> u8
Return the size of VMFunctionImport.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for *const VMFunctionBody.
sourcepub fn size_of_vmfunction_body_ptr(&self) -> u8
pub fn size_of_vmfunction_body_ptr(&self) -> u8
The size of the current_elements field.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMTableImport.
sourcepub fn vmtable_import_from(&self) -> u8
pub fn vmtable_import_from(&self) -> u8
The offset of the from field.
sourcepub fn vmtable_import_vmctx(&self) -> u8
pub fn vmtable_import_vmctx(&self) -> u8
The offset of the vmctx field.
sourcepub fn size_of_vmtable_import(&self) -> u8
pub fn size_of_vmtable_import(&self) -> u8
Return the size of VMTableImport.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMTableDefinition.
sourcepub fn vmtable_definition_base(&self) -> u8
pub fn vmtable_definition_base(&self) -> u8
The offset of the base field.
sourcepub fn vmtable_definition_current_elements(&self) -> u8
pub fn vmtable_definition_current_elements(&self) -> u8
The offset of the current_elements field.
sourcepub fn size_of_vmtable_definition_current_elements(&self) -> u8
pub fn size_of_vmtable_definition_current_elements(&self) -> u8
The size of the current_elements field.
sourcepub fn size_of_vmtable_definition(&self) -> u8
pub fn size_of_vmtable_definition(&self) -> u8
Return the size of VMTableDefinition.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMMemoryImport.
sourcepub fn vmmemory_import_from(&self) -> u8
pub fn vmmemory_import_from(&self) -> u8
The offset of the from field.
sourcepub fn vmmemory_import_vmctx(&self) -> u8
pub fn vmmemory_import_vmctx(&self) -> u8
The offset of the vmctx field.
sourcepub fn size_of_vmmemory_import(&self) -> u8
pub fn size_of_vmmemory_import(&self) -> u8
Return the size of VMMemoryImport.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMGlobalImport.
sourcepub fn vmglobal_import_from(&self) -> u8
pub fn vmglobal_import_from(&self) -> u8
The offset of the from field.
sourcepub fn size_of_vmglobal_import(&self) -> u8
pub fn size_of_vmglobal_import(&self) -> u8
Return the size of VMGlobalImport.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMSharedSignatureIndex.
Return the size of VMSharedSignatureIndex.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMContext.
sourcepub fn vmctx_magic(&self) -> u32
pub fn vmctx_magic(&self) -> u32
Return the offset to the magic value in this VMContext.
sourcepub fn vmctx_runtime_limits(&self) -> u32
pub fn vmctx_runtime_limits(&self) -> u32
Return the offset to the VMRuntimeLimits structure
sourcepub fn vmctx_callee(&self) -> u32
pub fn vmctx_callee(&self) -> u32
Return the offset to the callee member in this VMContext.
sourcepub fn vmctx_epoch_ptr(&self) -> u32
pub fn vmctx_epoch_ptr(&self) -> u32
Return the offset to the *const AtomicU64 epoch-counter
pointer.
sourcepub fn vmctx_externref_activations_table(&self) -> u32
pub fn vmctx_externref_activations_table(&self) -> u32
The offset of the *mut VMExternRefActivationsTable member.
sourcepub fn vmctx_store(&self) -> u32
pub fn vmctx_store(&self) -> u32
The offset of the *const dyn Store member.
sourcepub fn vmctx_signature_ids_array(&self) -> u32
pub fn vmctx_signature_ids_array(&self) -> u32
The offset of the signature_ids array pointer.
sourcepub fn vmctx_imported_functions_begin(&self) -> u32
pub fn vmctx_imported_functions_begin(&self) -> u32
The offset of the tables array.
sourcepub fn vmctx_imported_tables_begin(&self) -> u32
pub fn vmctx_imported_tables_begin(&self) -> u32
The offset of the tables array.
sourcepub fn vmctx_imported_memories_begin(&self) -> u32
pub fn vmctx_imported_memories_begin(&self) -> u32
The offset of the memories array.
sourcepub fn vmctx_imported_globals_begin(&self) -> u32
pub fn vmctx_imported_globals_begin(&self) -> u32
The offset of the globals array.
sourcepub fn vmctx_tables_begin(&self) -> u32
pub fn vmctx_tables_begin(&self) -> u32
The offset of the tables array.
sourcepub fn vmctx_memories_begin(&self) -> u32
pub fn vmctx_memories_begin(&self) -> u32
The offset of the memories array.
sourcepub fn vmctx_owned_memories_begin(&self) -> u32
pub fn vmctx_owned_memories_begin(&self) -> u32
The offset of the owned_memories array.
sourcepub fn vmctx_globals_begin(&self) -> u32
pub fn vmctx_globals_begin(&self) -> u32
The offset of the globals array.
sourcepub fn vmctx_anyfuncs_begin(&self) -> u32
pub fn vmctx_anyfuncs_begin(&self) -> u32
The offset of the anyfuncs array.
sourcepub fn vmctx_builtin_functions(&self) -> u32
pub fn vmctx_builtin_functions(&self) -> u32
The offset of the builtin functions array.
sourcepub fn size_of_vmctx(&self) -> u32
pub fn size_of_vmctx(&self) -> u32
Return the size of the VMContext allocation.
sourcepub fn vmctx_vmfunction_import(&self, index: FuncIndex) -> u32
pub fn vmctx_vmfunction_import(&self, index: FuncIndex) -> u32
Return the offset to VMFunctionImport index index.
sourcepub fn vmctx_vmtable_import(&self, index: TableIndex) -> u32
pub fn vmctx_vmtable_import(&self, index: TableIndex) -> u32
Return the offset to VMTableImport index index.
sourcepub fn vmctx_vmmemory_import(&self, index: MemoryIndex) -> u32
pub fn vmctx_vmmemory_import(&self, index: MemoryIndex) -> u32
Return the offset to VMMemoryImport index index.
sourcepub fn vmctx_vmglobal_import(&self, index: GlobalIndex) -> u32
pub fn vmctx_vmglobal_import(&self, index: GlobalIndex) -> u32
Return the offset to VMGlobalImport index index.
sourcepub fn vmctx_vmtable_definition(&self, index: DefinedTableIndex) -> u32
pub fn vmctx_vmtable_definition(&self, index: DefinedTableIndex) -> u32
Return the offset to VMTableDefinition index index.
sourcepub fn vmctx_vmmemory_pointer(&self, index: DefinedMemoryIndex) -> u32
pub fn vmctx_vmmemory_pointer(&self, index: DefinedMemoryIndex) -> u32
Return the offset to the *mut VMMemoryDefinition at index index.
sourcepub fn vmctx_vmmemory_definition(&self, index: OwnedMemoryIndex) -> u32
pub fn vmctx_vmmemory_definition(&self, index: OwnedMemoryIndex) -> u32
Return the offset to the owned VMMemoryDefinition at index index.
sourcepub fn vmctx_vmglobal_definition(&self, index: DefinedGlobalIndex) -> u32
pub fn vmctx_vmglobal_definition(&self, index: DefinedGlobalIndex) -> u32
Return the offset to the VMGlobalDefinition index index.
sourcepub fn vmctx_anyfunc(&self, index: AnyfuncIndex) -> u32
pub fn vmctx_anyfunc(&self, index: AnyfuncIndex) -> u32
Return the offset to the VMCallerCheckedFuncRef for the given function
index (either imported or defined).
sourcepub fn vmctx_vmfunction_import_body(&self, index: FuncIndex) -> u32
pub fn vmctx_vmfunction_import_body(&self, index: FuncIndex) -> u32
Return the offset to the body field in *const VMFunctionBody index index.
sourcepub fn vmctx_vmfunction_import_vmctx(&self, index: FuncIndex) -> u32
pub fn vmctx_vmfunction_import_vmctx(&self, index: FuncIndex) -> u32
Return the offset to the vmctx field in *const VMFunctionBody index index.
sourcepub fn vmctx_vmtable_import_from(&self, index: TableIndex) -> u32
pub fn vmctx_vmtable_import_from(&self, index: TableIndex) -> u32
Return the offset to the from field in VMTableImport index index.
sourcepub fn vmctx_vmtable_definition_base(&self, index: DefinedTableIndex) -> u32
pub fn vmctx_vmtable_definition_base(&self, index: DefinedTableIndex) -> u32
Return the offset to the base field in VMTableDefinition index index.
sourcepub fn vmctx_vmtable_definition_current_elements(
&self,
index: DefinedTableIndex
) -> u32
pub fn vmctx_vmtable_definition_current_elements( &self, index: DefinedTableIndex ) -> u32
Return the offset to the current_elements field in VMTableDefinition index index.
sourcepub fn vmctx_vmmemory_import_from(&self, index: MemoryIndex) -> u32
pub fn vmctx_vmmemory_import_from(&self, index: MemoryIndex) -> u32
Return the offset to the from field in VMMemoryImport index index.
sourcepub fn vmctx_vmmemory_import_vmctx(&self, index: MemoryIndex) -> u32
pub fn vmctx_vmmemory_import_vmctx(&self, index: MemoryIndex) -> u32
Return the offset to the vmctx field in VMMemoryImport index index.
sourcepub fn vmctx_vmmemory_definition_base(&self, index: OwnedMemoryIndex) -> u32
pub fn vmctx_vmmemory_definition_base(&self, index: OwnedMemoryIndex) -> u32
Return the offset to the base field in VMMemoryDefinition index index.
sourcepub fn vmctx_vmmemory_definition_current_length(
&self,
index: OwnedMemoryIndex
) -> u32
pub fn vmctx_vmmemory_definition_current_length( &self, index: OwnedMemoryIndex ) -> u32
Return the offset to the current_length field in VMMemoryDefinition index index.
sourcepub fn vmctx_vmglobal_import_from(&self, index: GlobalIndex) -> u32
pub fn vmctx_vmglobal_import_from(&self, index: GlobalIndex) -> u32
Return the offset to the from field in VMGlobalImport index index.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMExternData.
sourcepub fn vm_extern_data_ref_count(&self) -> u32
pub fn vm_extern_data_ref_count(&self) -> u32
Return the offset for VMExternData::ref_count.
source§impl<P: PtrSize> VMOffsets<P>
impl<P: PtrSize> VMOffsets<P>
Offsets for VMExternRefActivationsTable.
sourcepub fn vm_extern_ref_activation_table_next(&self) -> u32
pub fn vm_extern_ref_activation_table_next(&self) -> u32
Return the offset for VMExternRefActivationsTable::next.
sourcepub fn vm_extern_ref_activation_table_end(&self) -> u32
pub fn vm_extern_ref_activation_table_end(&self) -> u32
Return the offset for VMExternRefActivationsTable::end.