pub struct FuncTranslator { /* private fields */ }
Expand description

WebAssembly to Cranelift IR function translator.

A FuncTranslator is used to translate a binary WebAssembly function into Cranelift IR guided by a FuncEnvironment object. A single translator instance can be reused to translate multiple functions which will reduce heap allocation traffic.

Implementations

Create a new translator.

Returns the underlying FunctionBuilderContext that this translator uses.

Translate a binary WebAssembly function.

The code slice contains the binary WebAssembly function code as it appears in the code section of a WebAssembly module, not including the initial size of the function code. The slice is expected to contain two parts:

  • The declaration of locals, and
  • The function body as an expression.

See the WebAssembly specification.

The Cranelift IR function func should be completely empty except for the func.signature and func.name fields. The signature may contain special-purpose arguments which are not regarded as WebAssembly local variables. Any signature arguments marked as ArgumentPurpose::Normal are made accessible as WebAssembly local variables.

Translate a binary WebAssembly function from a FunctionBody.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.