Struct cranelift_wasm::DummyFuncEnvironment
source · pub struct DummyFuncEnvironment<'dummy_environment> {
pub mod_info: &'dummy_environment DummyModuleInfo,
pub heaps: PrimaryMap<Heap, HeapData>,
/* private fields */
}
Expand description
The FuncEnvironment
implementation for use by the DummyEnvironment
.
Fields§
§mod_info: &'dummy_environment DummyModuleInfo
This function environment’s module info.
heaps: PrimaryMap<Heap, HeapData>
Heaps we have created to implement Wasm linear memories.
Implementations§
source§impl<'dummy_environment> DummyFuncEnvironment<'dummy_environment>
impl<'dummy_environment> DummyFuncEnvironment<'dummy_environment>
sourcepub fn new(
mod_info: &'dummy_environment DummyModuleInfo,
expected_reachability: Option<ExpectedReachability>
) -> Self
pub fn new(
mod_info: &'dummy_environment DummyModuleInfo,
expected_reachability: Option<ExpectedReachability>
) -> Self
Construct a new DummyFuncEnvironment
.
Trait Implementations§
source§impl<'dummy_environment> FuncEnvironment for DummyFuncEnvironment<'dummy_environment>
impl<'dummy_environment> FuncEnvironment for DummyFuncEnvironment<'dummy_environment>
source§fn make_global(
&mut self,
func: &mut Function,
index: GlobalIndex
) -> WasmResult<GlobalVariable>
fn make_global(
&mut self,
func: &mut Function,
index: GlobalIndex
) -> WasmResult<GlobalVariable>
Set up the necessary preamble definitions in
func
to access the global variable
identified by index
. Read moresource§fn heaps(&self) -> &PrimaryMap<Heap, HeapData>
fn heaps(&self) -> &PrimaryMap<Heap, HeapData>
Get the heaps for this function environment. Read more
source§fn make_heap(
&mut self,
func: &mut Function,
_index: MemoryIndex
) -> WasmResult<Heap>
fn make_heap(
&mut self,
func: &mut Function,
_index: MemoryIndex
) -> WasmResult<Heap>
Set up the necessary preamble definitions in
func
to access the linear memory identified
by index
. Read moresource§fn make_table(
&mut self,
func: &mut Function,
_index: TableIndex
) -> WasmResult<Table>
fn make_table(
&mut self,
func: &mut Function,
_index: TableIndex
) -> WasmResult<Table>
Set up the necessary preamble definitions in
func
to access the table identified
by index
. Read moresource§fn make_indirect_sig(
&mut self,
func: &mut Function,
index: TypeIndex
) -> WasmResult<SigRef>
fn make_indirect_sig(
&mut self,
func: &mut Function,
index: TypeIndex
) -> WasmResult<SigRef>
Set up a signature definition in the preamble of
func
that can be used for an indirect
call with signature index
. Read moresource§fn make_direct_func(
&mut self,
func: &mut Function,
index: FuncIndex
) -> WasmResult<FuncRef>
fn make_direct_func(
&mut self,
func: &mut Function,
index: FuncIndex
) -> WasmResult<FuncRef>
Set up an external function definition in the preamble of
func
that can be used to
directly call the function index
. Read moresource§fn before_translate_operator(
&mut self,
_op: &Operator<'_>,
_builder: &mut FunctionBuilder<'_>,
state: &FuncTranslationState
) -> WasmResult<()>
fn before_translate_operator(
&mut self,
_op: &Operator<'_>,
_builder: &mut FunctionBuilder<'_>,
state: &FuncTranslationState
) -> WasmResult<()>
Optional callback for the
FunctionEnvironment
performing this translation to maintain
internal state or prepare custom state for the operator to translate Read moresource§fn after_translate_operator(
&mut self,
_op: &Operator<'_>,
_builder: &mut FunctionBuilder<'_>,
state: &FuncTranslationState
) -> WasmResult<()>
fn after_translate_operator(
&mut self,
_op: &Operator<'_>,
_builder: &mut FunctionBuilder<'_>,
state: &FuncTranslationState
) -> WasmResult<()>
Optional callback for the
FunctionEnvironment
performing this translation to maintain
internal state or finalize custom state for the operator that was translated Read moresource§fn after_translate_function(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_state: &FuncTranslationState
) -> WasmResult<()>
fn after_translate_function(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_state: &FuncTranslationState
) -> WasmResult<()>
Optional callback for the
FunctionEnvironment
performing this translation to perform work
after the function body is translated. Read moresource§fn translate_call_indirect(
&mut self,
builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_sig_index: TypeIndex,
sig_ref: SigRef,
callee: Value,
call_args: &[Value]
) -> WasmResult<Inst>
fn translate_call_indirect(
&mut self,
builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_sig_index: TypeIndex,
sig_ref: SigRef,
callee: Value,
call_args: &[Value]
) -> WasmResult<Inst>
source§fn translate_call(
&mut self,
pos: FuncCursor<'_>,
_callee_index: FuncIndex,
callee: FuncRef,
call_args: &[Value]
) -> WasmResult<Inst>
fn translate_call(
&mut self,
pos: FuncCursor<'_>,
_callee_index: FuncIndex,
callee: FuncRef,
call_args: &[Value]
) -> WasmResult<Inst>
source§fn translate_memory_grow(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_val: Value
) -> WasmResult<Value>
fn translate_memory_grow(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_val: Value
) -> WasmResult<Value>
Translate a
memory.grow
WebAssembly instruction. Read moresource§fn translate_memory_size(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap
) -> WasmResult<Value>
fn translate_memory_size(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap
) -> WasmResult<Value>
Translates a
memory.size
WebAssembly instruction. Read moresource§fn translate_memory_copy(
&mut self,
_pos: FuncCursor<'_>,
_src_index: MemoryIndex,
_src_heap: Heap,
_dst_index: MemoryIndex,
_dst_heap: Heap,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
fn translate_memory_copy(
&mut self,
_pos: FuncCursor<'_>,
_src_index: MemoryIndex,
_src_heap: Heap,
_dst_index: MemoryIndex,
_dst_heap: Heap,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
Translate a
memory.copy
WebAssembly instruction. Read moresource§fn translate_memory_fill(
&mut self,
_pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_dst: Value,
_val: Value,
_len: Value
) -> WasmResult<()>
fn translate_memory_fill(
&mut self,
_pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_dst: Value,
_val: Value,
_len: Value
) -> WasmResult<()>
Translate a
memory.fill
WebAssembly instruction. Read moresource§fn translate_memory_init(
&mut self,
_pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_seg_index: u32,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
fn translate_memory_init(
&mut self,
_pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_seg_index: u32,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
Translate a
memory.init
WebAssembly instruction. Read moresource§fn translate_data_drop(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32
) -> WasmResult<()>
fn translate_data_drop(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32
) -> WasmResult<()>
Translate a
data.drop
WebAssembly instruction.source§fn translate_table_size(
&mut self,
pos: FuncCursor<'_>,
_index: TableIndex,
_table: Table
) -> WasmResult<Value>
fn translate_table_size(
&mut self,
pos: FuncCursor<'_>,
_index: TableIndex,
_table: Table
) -> WasmResult<Value>
Translate a
table.size
WebAssembly instruction.source§fn translate_table_grow(
&mut self,
pos: FuncCursor<'_>,
_table_index: TableIndex,
_table: Table,
_delta: Value,
_init_value: Value
) -> WasmResult<Value>
fn translate_table_grow(
&mut self,
pos: FuncCursor<'_>,
_table_index: TableIndex,
_table: Table,
_delta: Value,
_init_value: Value
) -> WasmResult<Value>
Translate a
table.grow
WebAssembly instruction.source§fn translate_table_get(
&mut self,
builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_index: Value
) -> WasmResult<Value>
fn translate_table_get(
&mut self,
builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_index: Value
) -> WasmResult<Value>
Translate a
table.get
WebAssembly instruction.source§fn translate_table_set(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_value: Value,
_index: Value
) -> WasmResult<()>
fn translate_table_set(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_table_index: TableIndex,
_table: Table,
_value: Value,
_index: Value
) -> WasmResult<()>
Translate a
table.set
WebAssembly instruction.source§fn translate_table_copy(
&mut self,
_pos: FuncCursor<'_>,
_dst_index: TableIndex,
_dst_table: Table,
_src_index: TableIndex,
_src_table: Table,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
fn translate_table_copy(
&mut self,
_pos: FuncCursor<'_>,
_dst_index: TableIndex,
_dst_table: Table,
_src_index: TableIndex,
_src_table: Table,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
Translate a
table.copy
WebAssembly instruction.source§fn translate_table_fill(
&mut self,
_pos: FuncCursor<'_>,
_table_index: TableIndex,
_dst: Value,
_val: Value,
_len: Value
) -> WasmResult<()>
fn translate_table_fill(
&mut self,
_pos: FuncCursor<'_>,
_table_index: TableIndex,
_dst: Value,
_val: Value,
_len: Value
) -> WasmResult<()>
Translate a
table.fill
WebAssembly instruction.source§fn translate_table_init(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32,
_table_index: TableIndex,
_table: Table,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
fn translate_table_init(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32,
_table_index: TableIndex,
_table: Table,
_dst: Value,
_src: Value,
_len: Value
) -> WasmResult<()>
Translate a
table.init
WebAssembly instruction.source§fn translate_elem_drop(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32
) -> WasmResult<()>
fn translate_elem_drop(
&mut self,
_pos: FuncCursor<'_>,
_seg_index: u32
) -> WasmResult<()>
Translate a
elem.drop
WebAssembly instruction.source§fn translate_ref_func(
&mut self,
pos: FuncCursor<'_>,
_func_index: FuncIndex
) -> WasmResult<Value>
fn translate_ref_func(
&mut self,
pos: FuncCursor<'_>,
_func_index: FuncIndex
) -> WasmResult<Value>
Translate a
ref.func
WebAssembly instruction.source§fn translate_custom_global_get(
&mut self,
pos: FuncCursor<'_>,
_global_index: GlobalIndex
) -> WasmResult<Value>
fn translate_custom_global_get(
&mut self,
pos: FuncCursor<'_>,
_global_index: GlobalIndex
) -> WasmResult<Value>
source§fn translate_custom_global_set(
&mut self,
_pos: FuncCursor<'_>,
_global_index: GlobalIndex,
_val: Value
) -> WasmResult<()>
fn translate_custom_global_set(
&mut self,
_pos: FuncCursor<'_>,
_global_index: GlobalIndex,
_val: Value
) -> WasmResult<()>
source§fn translate_atomic_wait(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_addr: Value,
_expected: Value,
_timeout: Value
) -> WasmResult<Value>
fn translate_atomic_wait(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_addr: Value,
_expected: Value,
_timeout: Value
) -> WasmResult<Value>
Translate an
i32.atomic.wait
or i64.atomic.wait
WebAssembly instruction.
The index
provided identifies the linear memory containing the value
to wait on, and heap
is the heap reference returned by make_heap
for the same index. Whether the waited-on value is 32- or 64-bit can be
determined by examining the type of expected
, which must be only I32 or I64. Read moresource§fn translate_atomic_notify(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_addr: Value,
_count: Value
) -> WasmResult<Value>
fn translate_atomic_notify(
&mut self,
pos: FuncCursor<'_>,
_index: MemoryIndex,
_heap: Heap,
_addr: Value,
_count: Value
) -> WasmResult<Value>
Translate an
atomic.notify
WebAssembly instruction.
The index
provided identifies the linear memory containing the value
to wait on, and heap
is the heap reference returned by make_heap
for the same index. Read moresource§fn unsigned_add_overflow_condition(&self) -> IntCC
fn unsigned_add_overflow_condition(&self) -> IntCC
Returns the target ISA’s condition to check for unsigned addition
overflowing. Read more
source§fn is_wasm_parameter(&self, signature: &Signature, index: usize) -> bool
fn is_wasm_parameter(&self, signature: &Signature, index: usize) -> bool
Is the given parameter of the given function a wasm-level parameter, as opposed to a hidden
parameter added for use by the implementation? Read more
source§fn is_wasm_return(&self, signature: &Signature, index: usize) -> bool
fn is_wasm_return(&self, signature: &Signature, index: usize) -> bool
Is the given return of the given function a wasm-level parameter, as
opposed to a hidden parameter added for use by the implementation? Read more
source§fn after_locals(&mut self, num_locals_defined: usize)
fn after_locals(&mut self, num_locals_defined: usize)
Called after the locals for a function have been parsed, and the number
of variables defined by this function is provided. Read more
source§fn translate_ref_null(
&mut self,
pos: FuncCursor<'_>,
ty: WasmType
) -> WasmResult<Value>
fn translate_ref_null(
&mut self,
pos: FuncCursor<'_>,
ty: WasmType
) -> WasmResult<Value>
Translate a
ref.null T
WebAssembly instruction. Read moresource§fn translate_ref_is_null(
&mut self,
pos: FuncCursor<'_>,
value: Value
) -> WasmResult<Value>
fn translate_ref_is_null(
&mut self,
pos: FuncCursor<'_>,
value: Value
) -> WasmResult<Value>
Translate a
ref.is_null
WebAssembly instruction. Read moresource§fn translate_loop_header(
&mut self,
_builder: &mut FunctionBuilder<'_>
) -> WasmResult<()>
fn translate_loop_header(
&mut self,
_builder: &mut FunctionBuilder<'_>
) -> WasmResult<()>
Emit code at the beginning of every wasm loop. Read more
source§fn before_unconditionally_trapping_memory_access(
&mut self,
_builder: &mut FunctionBuilder<'_>
) -> WasmResult<()>
fn before_unconditionally_trapping_memory_access(
&mut self,
_builder: &mut FunctionBuilder<'_>
) -> WasmResult<()>
Optional callback for the
FuncEnvironment
performing this translation
to maintain, prepare, or finalize custom, internal state when we
statically determine that a Wasm memory access will unconditionally
trap, rendering the rest of the block unreachable. Called just before
the unconditional trap is emitted. Read moresource§fn before_translate_function(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_state: &FuncTranslationState
) -> WasmResult<()>
fn before_translate_function(
&mut self,
_builder: &mut FunctionBuilder<'_>,
_state: &FuncTranslationState
) -> WasmResult<()>
Optional callback for the
FunctionEnvironment
performing this translation to perform work
before the function body is translated. Read moresource§impl<'dummy_environment> TargetEnvironment for DummyFuncEnvironment<'dummy_environment>
impl<'dummy_environment> TargetEnvironment for DummyFuncEnvironment<'dummy_environment>
source§fn target_config(&self) -> TargetFrontendConfig
fn target_config(&self) -> TargetFrontendConfig
Get the information needed to produce Cranelift IR for the given target.
source§fn heap_access_spectre_mitigation(&self) -> bool
fn heap_access_spectre_mitigation(&self) -> bool
Whether to enable Spectre mitigations for heap accesses.
source§fn pointer_type(&self) -> Type
fn pointer_type(&self) -> Type
Get the Cranelift integer type to use for native pointers. Read more
source§fn pointer_bytes(&self) -> u8
fn pointer_bytes(&self) -> u8
Get the size of a native pointer, in bytes.