Trait cranelift_wasm::TargetEnvironment
source · [−]pub trait TargetEnvironment {
fn target_config(&self) -> TargetFrontendConfig;
fn pointer_type(&self) -> Type { ... }
fn pointer_bytes(&self) -> u8 { ... }
fn reference_type(&self, ty: WasmType) -> Type { ... }
}
Expand description
Environment affecting the translation of a WebAssembly.
Required methods
fn target_config(&self) -> TargetFrontendConfig
fn target_config(&self) -> TargetFrontendConfig
Get the information needed to produce Cranelift IR for the given target.
Provided methods
fn pointer_type(&self) -> Type
fn pointer_type(&self) -> Type
Get the Cranelift integer type to use for native pointers.
This returns I64
for 64-bit architectures and I32
for 32-bit architectures.
fn pointer_bytes(&self) -> u8
fn pointer_bytes(&self) -> u8
Get the size of a native pointer, in bytes.
fn reference_type(&self, ty: WasmType) -> Type
fn reference_type(&self, ty: WasmType) -> Type
Get the Cranelift reference type to use for the given Wasm reference type.
By default, this returns R64
for 64-bit architectures and R32
for
32-bit architectures. If you override this, then you should also
override FuncEnvironment::{translate_ref_null, translate_ref_is_null}
as well.