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§

Get the information needed to produce Cranelift IR for the given target.

Provided Methods§

Get the Cranelift integer type to use for native pointers.

This returns I64 for 64-bit architectures and I32 for 32-bit architectures.

Get the size of a native pointer, in bytes.

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.

Implementors§