Trait winch_codegen::isa::TargetIsa

source ·
pub trait TargetIsa: Send + Sync {
Show 14 methods // Required methods fn name(&self) -> &'static str; fn triple(&self) -> &Triple; fn flags(&self) -> &Flags; fn isa_flags(&self) -> Vec<Value>; fn compile_function( &self, sig: &WasmFuncType, body: &FunctionBody<'_>, translation: &ModuleTranslation<'_>, types: &ModuleTypesBuilder, builtins: &mut BuiltinFunctions, validator: &mut FuncValidator<ValidatorResources> ) -> Result<MachBufferFinalized<Final>>; fn text_section_builder( &self, num_labeled_funcs: usize ) -> Box<dyn TextSectionBuilder>; fn function_alignment(&self) -> u32; fn compile_trampoline( &self, ty: &WasmFuncType, kind: TrampolineKind ) -> Result<MachBufferFinalized<Final>>; // Provided methods fn is_branch_protection_enabled(&self) -> bool { ... } fn default_call_conv(&self) -> CallConv { ... } fn wasmtime_call_conv(&self) -> CallingConvention { ... } fn endianness(&self) -> Endianness { ... } fn create_systemv_cie(&self) -> Option<CommonInformationEntry> { ... } fn pointer_bytes(&self) -> u8 { ... }
}
Expand description

A trait representing commonalities between the supported instruction set architectures.

Required Methods§

source

fn name(&self) -> &'static str

Get the name of the ISA.

source

fn triple(&self) -> &Triple

Get the target triple of the ISA.

source

fn flags(&self) -> &Flags

Get the ISA-independent flags that were used to make this trait object.

source

fn isa_flags(&self) -> Vec<Value>

Get the ISA-dependent flag values that were used to make this trait object.

source

fn compile_function( &self, sig: &WasmFuncType, body: &FunctionBody<'_>, translation: &ModuleTranslation<'_>, types: &ModuleTypesBuilder, builtins: &mut BuiltinFunctions, validator: &mut FuncValidator<ValidatorResources> ) -> Result<MachBufferFinalized<Final>>

Compile a function.

source

fn text_section_builder( &self, num_labeled_funcs: usize ) -> Box<dyn TextSectionBuilder>

See cranelift_codegen::isa::TargetIsa::text_section_builder.

source

fn function_alignment(&self) -> u32

See cranelift_codegen::isa::TargetIsa::function_alignment.

source

fn compile_trampoline( &self, ty: &WasmFuncType, kind: TrampolineKind ) -> Result<MachBufferFinalized<Final>>

Compile a trampoline kind.

This function, internally dispatches to the right trampoline to emit depending on the kind paramter.

Provided Methods§

source

fn is_branch_protection_enabled(&self) -> bool

Get a flag indicating whether branch protection is enabled.

source

fn default_call_conv(&self) -> CallConv

Get the default calling convention of the underlying target triple.

source

fn wasmtime_call_conv(&self) -> CallingConvention

Derive Wasmtime’s calling convention from the triple’s default calling convention.

source

fn endianness(&self) -> Endianness

Get the endianess of the underlying target triple.

source

fn create_systemv_cie(&self) -> Option<CommonInformationEntry>

See cranelift_codegen::isa::TargetIsa::create_systemv_cie.

source

fn pointer_bytes(&self) -> u8

Returns the pointer width of the ISA in bytes.

Trait Implementations§

source§

impl Debug for &dyn TargetIsa

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Implementors§