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: P
The size in bytes of a pointer on the target.
num_imported_functions: u32
The number of imported functions in the module.
num_imported_tables: u32
The number of imported tables in the module.
num_imported_memories: u32
The number of imported memories in the module.
num_imported_globals: u32
The number of imported globals in the module.
num_defined_tables: u32
The number of defined tables in the module.
num_defined_memories: u32
The number of defined memories in the module.
num_owned_memories: u32
The number of memories owned by the module instance.
num_defined_globals: u32
The number of defined globals in the module.
num_escaped_funcs: u32
The 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
.
Trait Implementations§
source§impl<P: PtrSize> From<VMOffsetsFields<P>> for VMOffsets<P>
impl<P: PtrSize> From<VMOffsetsFields<P>> for VMOffsets<P>
source§fn from(fields: VMOffsetsFields<P>) -> VMOffsets<P>
fn from(fields: VMOffsetsFields<P>) -> VMOffsets<P>
impl<P: Copy> Copy for VMOffsets<P>
Auto Trait Implementations§
impl<P> Freeze for VMOffsets<P>where
P: Freeze,
impl<P> RefUnwindSafe for VMOffsets<P>where
P: RefUnwindSafe,
impl<P> Send for VMOffsets<P>where
P: Send,
impl<P> Sync for VMOffsets<P>where
P: Sync,
impl<P> Unpin for VMOffsets<P>where
P: Unpin,
impl<P> UnwindSafe for VMOffsets<P>where
P: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)