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§
- Backend
Capabilities - What a backend can and cannot do
- Backend
Registry - Registry of available backends
- Code
Relocation - Compilation
Result - Result of compiling a full module
- Compile
Config - Configuration for a compilation run
- Compiled
Function - A single compiled function
- Volatile
Range - #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. SeeCompileConfig::volatile_segmentsfor the Phase-1/Phase-2 split.
Enums§
- Backend
Error - Errors from backend compilation
- Reloc
Kind - A relocation entry produced during compilation
- Safety
Bounds - 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, #basebefore 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_basedefaults 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. ANoneop-index marks an instruction with no originating wasm op (prologue/epilogue, literal pool). Consumed by the DWARF.debug_lineemitter; empty when no source map was produced.