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.
Structs§
- Compilation
- The result of compiling a WebAssembly module’s functions.
- Compile
Module Info - The required info for compiling a module.
- Compiled
Function - The result of compiling a WebAssembly function.
- Compiled
Function Frame Info - The frame info for a Compiled function.
- Custom
Section - A Section for a
Compilation
. - Custom
Section Ref - See
CustomSection
. - Dwarf
- The DWARF information for this Compilation.
- Features
- Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.
- Function
Address Map - Function and its instructions addresses mappings.
- Function
Body - The function body.
- Function
Body Ref - See
FunctionBody
. - Instruction
Address Map - Single source location to generated address mapping.
- Jump
Table - An opaque reference to a jump table.
- Middleware
Error - A error in the middleware.
- Relocation
- A record of a relocation to perform.
- Section
Body - The bytes in the section.
- Section
Index - Index type of a Section defined inside a WebAssembly
Compilation
. - Source
Loc - A source location.
- Target
- This is the target that we will use for compiling the WebAssembly ModuleInfo, and then run it.
- Trampolines
Section - Trampolines section used by ARM short jump (26bits)
- Trap
Information - Information about trap.
- Triple
- A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
Enums§
- Architecture
- The “architecture” field, which in some cases also specifies a specific subarchitecture.
- Binary
Format - The “binary format” field, which is usually omitted, and the binary format is implied by the other fields.
- Calling
Convention - The calling convention, which specifies things like which registers are used for passing arguments, which registers are callee-saved, and so on.
- Compile
Error - The WebAssembly.CompileError object indicates an error during WebAssembly decoding or validation.
- Compiled
Function Unwind Info - Compiled function unwind information.
- Compiled
Function Unwind Info Ref - See
CompiledFunctionUnwindInfo
. - CpuFeature
- The nomenclature is inspired by the
cpuid
crate. The list of supported features was initially retrieved fromcranelift-native
. - Custom
Section Protection - Custom section Protection.
- Endianness
- The target memory endianness.
- Operating
System - The “operating system” field, which sometimes implies an environment, and sometimes isn’t an actual operating system.
- Parse
CpuFeature Error - The error that can happen while parsing a
str
to retrieve aCpuFeature
. - Pointer
Width - The width of a pointer (in the default address space).
- Relocation
Kind - Relocation kinds for every ISA.
- Relocation
Target - Destination function. Can be either user function or some special one, like
memory.grow
. - Wasm
Error - A WebAssembly translation error.
Constants§
- VERSION
- Version number of this crate.
Type Aliases§
- Addend
- Addend to add to the symbol value.
- Code
Offset - Offset in bytes from the beginning of the function.
- Custom
Sections - The custom sections for a Compilation.
- Functions
- The compiled functions map (index in the Wasm -> function)
- Jump
Table Offsets - Code offsets for Jump Tables.
- Relocations
- Relocations to apply to function bodies.
- Wasm
Result - A convenient alias for a
Result
that usesWasmError
as the error type.