Expand description
A WebAssembly Compiler
implementation using Cranelift.
Cranelift is a fast IR generator created by Mozilla for usage in Firefox as a next JS compiler generator.
Compared to LLVM, Cranelift is a bit faster and made entirely in Rust.
Modulesยง
- address_
map ๐ - compiler ๐
- Support for compiling with Cranelift.
- config ๐
- debug ๐
- dwarf ๐
- func_
environ ๐ - heap ๐
- Heaps to implement WebAssembly linear memories.
- table ๐
- trampoline ๐
- translator ๐
- Tools for translating wasm function bytecode to Cranelift IR.
Structsยง
- Cranelift
- Global configuration options used to create an
wasmer_engine::Engine
and customize its behavior. - Cranelift
Compiler - A compiler that compiles a WebAssembly module with Cranelift, translating the Wasm to Cranelift IR, optimizing it and then translating to assembly.
- Module
Info Vmctx Info - ModuleInfo
vmctx
related info.
Enumsยง
- Cranelift
OptLevel - Possible optimization levels for the Cranelift codegen backend.
- Module
Info Memory Offset - Memory definition offset in the VMContext structure.
Constantsยง
- TRAP_
BAD_ SIGNATURE - Trap reported when an indirect call signature does not match.
- TRAP_
HEAP_ MISALIGNED - Trap reported when a heap access violates alignment guarantees.
- TRAP_
INDIRECT_ CALL_ TO_ NULL - Trap reported when an indirect call targets a null function reference.
- TRAP_
INTERRUPT - Trap reported for interrupts (not currently supported).
- TRAP_
NULL_ I31_ REF - Trap reported when a null i31 reference is observed.
- TRAP_
NULL_ REFERENCE - Trap reported when a null reference is observed.
- TRAP_
TABLE_ OUT_ OF_ BOUNDS - Trap reported when a table access goes out of bounds.
- TRAP_
UNREACHABLE - Trap reported when unreachable code is executed.
- TRAP_
USER_ ๐OFFSET - Offset applied to user-defined trap codes to avoid colliding with Cranelift-reserved values.
- VERSION
- Version number of this crate.
Functionsยง
- make_
trampoline_ function_ call - Create a trampoline for invoking a WebAssembly function.
Type Aliasesยง
- Value
Labels Ranges - Value ranges for functions.