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,
pub builtins: &'translation mut BuiltinFunctions,
/* 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.
builtins: &'translation mut BuiltinFunctions
The built-in functions available to the JIT code.
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,
builtins: &'translation mut BuiltinFunctions,
isa: &dyn TargetIsa,
ptr_type: WasmValType
) -> Self
pub fn new( vmoffsets: &'a VMOffsets<P>, translation: &'translation ModuleTranslation<'data>, types: &'translation ModuleTypesBuilder, builtins: &'translation mut BuiltinFunctions, isa: &dyn TargetIsa, ptr_type: WasmValType ) -> Self
Create a new function environment.
sourcepub fn resolve_global(&mut self, index: GlobalIndex) -> GlobalData
pub fn resolve_global(&mut self, index: GlobalIndex) -> GlobalData
Resolves [GlobalData] 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
Resolve 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
.
sourcepub fn heap_access_spectre_mitigation(&self) -> bool
pub fn heap_access_spectre_mitigation(&self) -> bool
Returns true if Spectre mitigations are enabled for heap bounds check.
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) -> WasmValType
fn convert_valtype(&self, ty: ValType) -> WasmValType
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>
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