/development/compiler/crates/nocter-arm64/README.md
nocter-arm64
Responsibility
Select, allocate, and encode ARM64 instructions for one immutable machine program.
Contract
The crate consumes target-independent machine operations and runtime roles. It publishes an Arm64Program containing encoded code/data sections and fixup information for the image writer. It does not inspect MIR semantics, declaration identities, source, or package state.
Internal Responsibilities
- instruction and addressing selection
- call, aggregate, pack, primitive, error, and region lowering
- frame layout and register allocation
- parallel-copy resolution
- branch/data fixups and instruction encoding
Invariants
- ARM64 selection implements the ABI already classified by Machine.
- Physical register decisions cannot change semantic value transport.
- Every primitive expansion is selected by closed runtime role.
- Encoding is deterministic for one machine program.