Struct winch_codegen::FuncEnv
source · pub struct FuncEnv<'a, 'translation: 'a, 'data: 'translation, P: PtrSize> {
pub vmoffsets: &'a VMOffsets<P>,
pub translation: &'translation ModuleTranslation<'data>,
pub types: &'translation ModuleTypesBuilder,
/* private fields */
}
Expand description
The function environment.
Contains all information about the module and runtime that is accessible to to a particular function during code generation.
Fields§
§vmoffsets: &'a VMOffsets<P>
Offsets to the fields within the VMContext
ptr.
translation: &'translation ModuleTranslation<'data>
Metadata about the translation process of a WebAssembly module.
types: &'translation ModuleTypesBuilder
The module’s function types.
Implementations§
source§impl<'a, 'translation, 'data, P: PtrSize> FuncEnv<'a, 'translation, 'data, P>
impl<'a, 'translation, 'data, P: PtrSize> FuncEnv<'a, 'translation, 'data, P>
sourcepub fn new(
vmoffsets: &'a VMOffsets<P>,
translation: &'translation ModuleTranslation<'data>,
types: &'translation ModuleTypesBuilder
) -> Self
pub fn new( vmoffsets: &'a VMOffsets<P>, translation: &'translation ModuleTranslation<'data>, types: &'translation ModuleTypesBuilder ) -> Self
Create a new function environment.
sourcepub fn funcref(&self, idx: TypeIndex) -> Callee
pub fn funcref(&self, idx: TypeIndex) -> Callee
Resolves a [Callee::FuncRef
] from a type index.
sourcepub fn callee_from_index(&self, idx: FuncIndex) -> Callee
pub fn callee_from_index(&self, idx: FuncIndex) -> Callee
Resolves a function [Callee
] from an index.
sourcepub fn resolve_global_type_and_offset(
&self,
index: GlobalIndex
) -> (WasmType, u32)
pub fn resolve_global_type_and_offset( &self, index: GlobalIndex ) -> (WasmType, u32)
Resolves the type and offset of a global at the given index.
sourcepub fn resolve_table_data(&mut self, index: TableIndex) -> TableData
pub fn resolve_table_data(&mut self, index: TableIndex) -> TableData
Returns the table information for the given table index.
sourcepub fn resolve_heap(&mut self, index: MemoryIndex) -> HeapData
pub fn resolve_heap(&mut self, index: MemoryIndex) -> HeapData
Resolved a [HeapData] from a MemoryIndex.
sourcepub fn table_plan(&mut self, index: TableIndex) -> &TablePlan
pub fn table_plan(&mut self, index: TableIndex) -> &TablePlan
Get a TablePlan
from a TableIndex
.
Trait Implementations§
source§impl<P: PtrSize> TypeConvert for FuncEnv<'_, '_, '_, P>
impl<P: PtrSize> TypeConvert for FuncEnv<'_, '_, '_, P>
source§fn lookup_heap_type(&self, idx: UnpackedIndex) -> WasmHeapType
fn lookup_heap_type(&self, idx: UnpackedIndex) -> WasmHeapType
Converts the specified type index from a heap type into a canonicalized
heap type.
source§fn convert_global_type(&self, ty: &GlobalType) -> Global
fn convert_global_type(&self, ty: &GlobalType) -> Global
Converts a wasmparser table type into a wasmtime type
source§fn convert_table_type(&self, ty: &TableType) -> Table
fn convert_table_type(&self, ty: &TableType) -> Table
Converts a wasmparser table type into a wasmtime type
source§fn convert_func_type(&self, ty: &FuncType) -> WasmFuncType
fn convert_func_type(&self, ty: &FuncType) -> WasmFuncType
Converts a wasmparser function type to a wasmtime type
source§fn convert_valtype(&self, ty: ValType) -> WasmType
fn convert_valtype(&self, ty: ValType) -> WasmType
Converts a wasmparser value type to a wasmtime type
source§fn convert_ref_type(&self, ty: RefType) -> WasmRefType
fn convert_ref_type(&self, ty: RefType) -> WasmRefType
Converts a wasmparser reference type to a wasmtime type
source§fn convert_heap_type(&self, ty: HeapType) -> WasmHeapType
fn convert_heap_type(&self, ty: HeapType) -> WasmHeapType
Converts a wasmparser heap type to a wasmtime type
Auto Trait Implementations§
impl<'a, 'translation, 'data, P> Freeze for FuncEnv<'a, 'translation, 'data, P>
impl<'a, 'translation, 'data, P> RefUnwindSafe for FuncEnv<'a, 'translation, 'data, P>where
P: RefUnwindSafe,
impl<'a, 'translation, 'data, P> Send for FuncEnv<'a, 'translation, 'data, P>where
P: Sync,
impl<'a, 'translation, 'data, P> Sync for FuncEnv<'a, 'translation, 'data, P>where
P: Sync,
impl<'a, 'translation, 'data, P> Unpin for FuncEnv<'a, 'translation, 'data, P>
impl<'a, 'translation, 'data, P> UnwindSafe for FuncEnv<'a, 'translation, 'data, P>where
P: RefUnwindSafe,
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
Mutably borrows from an owned value. Read more