Skip to main content

Module backend

Module backend 

Source
Expand description

Backend trait and registry for multi-backend compilation

Every compiler backend (ARM, aWsm, wasker, w2c2) implements the Backend trait, allowing the CLI and verification framework to treat them uniformly.

Structs§

BackendCapabilities
What a backend can and cannot do
BackendRegistry
Registry of available backends
CodeRelocation
CompilationResult
Result of compiling a full module
CompileConfig
Configuration for a compilation run
CompiledFunction
A single compiled function
VolatileRange
#543 — an integrator-marked volatile linear-memory segment (the DMA transfer window): the half-open byte range [base, base + len) of the fused linear memory that an external agent rewrites out-of-band. Parsed from the CLI --volatile-segment <base>:<len> flag. See CompileConfig::volatile_segments for the Phase-1/Phase-2 split.

Enums§

BackendError
Errors from backend compilation
RelocKind
A relocation entry produced during compilation
SafetyBounds
Memory-bounds safety strategy. Phase 1 of docs/binary-safety-design.md §3.1.

Constants§

OPTIMIZED_LINMEM_BASE
The absolute SRAM address the OPTIMIZED (non-relocatable) ARM path materializes as its linear-memory base (MOVW/MOVT R12, #base before each const-address access, and the #468 base-CSE R11 hoist). Historical value: 256 bytes above the SRAM start — the differential-harness contract for optimized-path fixtures maps linmem here. CompileConfig::linmem_base defaults to this; --stack-layout=low (#687) shifts it up by the reserved stack size so the moved layout reaches user code, not just the startup.

Traits§

Backend
Trait that every compilation backend implements

Type Aliases§

LineMap
VCR-DBG-001: a per-instruction source map — (machine_offset_within_code, wasm_op_index) pairs, one per emitted machine instruction. A None op-index marks an instruction with no originating wasm op (prologue/epilogue, literal pool). Consumed by the DWARF .debug_line emitter; empty when no source map was produced.