Crate wasmer_compiler
source · [−]Expand description
The wasmer-compiler
crate provides the necessary abstractions
to create a compiler.
It provides an universal way of parsing a module via wasmparser
,
while giving the responsibility of compiling specific function
WebAssembly bodies to the Compiler
implementation.
Re-exports
pub use wasmparser;
Macros
Return an Err(WasmError::Unsupported(msg))
where msg
the string built by calling format!
on the arguments to this macro.
Structs
The result of compiling a WebAssembly module’s functions.
The required info for compiling a module.
The result of compiling a WebAssembly function.
The frame info for a Compiled function.
A Section for a Compilation
.
The DWARF information for this Compilation.
Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.
Function and its instructions addresses mappings.
The function body.
Contains function data: bytecode and its offset in the module.
Single source location to generated address mapping.
An opaque reference to a jump table.
A Middleware binary reader of the WebAssembly structures and types.
A error in the middleware.
The state of the binary reader. Exposed to middlewares to push their outputs.
The result of translating via ModuleEnvironment
. Function bodies are not
yet translated, and data initializers have not yet been copied out of the
original buffer.
The function bodies will be translated by a specific compiler backend.
Contains information decoded from the Wasm module that must be referenced during each Wasm function’s translation.
A record of a relocation to perform.
The bytes in the section.
Index type of a Section defined inside a WebAssembly Compilation
.
A source location.
This is the target that we will use for compiling the WebAssembly ModuleInfo, and then run it.
Information about trap.
A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
Enums
The “architecture” field, which in some cases also specifies a specific subarchitecture.
The “binary format” field, which is usually omitted, and the binary format is implied by the other fields.
The calling convention, which specifies things like which registers are used for passing arguments, which registers are callee-saved, and so on.
The WebAssembly.CompileError object indicates an error during WebAssembly decoding or validation.
Compiled function unwind information.
The nomenclature is inspired by the cpuid
crate.
The list of supported features was initially retrieved from
cranelift-native
.
Custom section Protection.
The target memory endianness.
The “operating system” field, which sometimes implies an environment, and sometimes isn’t an actual operating system.
The error that can happen while parsing a str
to retrieve a CpuFeature
.
The width of a pointer (in the default address space).
Relocation kinds for every ISA.
Destination function. Can be either user function or some special one, like memory.grow
.
The kinds of wasmer_types objects that might be found in a native object file.
A WebAssembly translation error.
Constants
Version number of this crate.
Traits
An implementation of a Compiler from parsed WebAssembly module to Compiled native code.
The compiler configuration options.
Trait for iterating over the operators of a Wasm Function
A function middleware specialized for a single function.
A shared builder for function middlewares.
Trait for generating middleware chains from “prototype” (generator) chains.
This trait facilitates symbol name lookups in a native object file.
Functions
Translate a sequence of bytes forming a valid Wasm binary into a
parsed ModuleInfo ModuleTranslationState
.
Helper function translating wasmparser types to Wasm Type.
Type Definitions
Addend to add to the symbol value.
Offset in bytes from the beginning of the function.
The custom sections for a Compilation.
The compiled functions map (index in the Wasm -> function)
Code offsets for Jump Tables.
Relocations to apply to function bodies.
A convenient alias for a Result
that uses WasmError
as the error type.