Parent: #144
Roadmap: #134
Related: #325
Define the auditable pointer and identity contract required before any heap cell can move. This is a correctness foundation, not a claim that compaction is active.
Scope
- Inventory every heap-cell pointer representation and owner: NaN-boxed Values, raw typed pointers, atomic slots, native-private data, Wasm references, weak/finalization records, C/Objective-C/private-ABI handles, debugger state, interpreter frames, and JIT metadata.
- Classify each occurrence as immovable, stable-handle-backed, precisely rewritable, interior, or forbidden across a safepoint.
- Define a relocation visitor API distinct from marking, including strong, weak, ephemeron, atomic, optional, and interior-reference operations.
- Define stable object identity across relocation and the forwarding metadata/header lifecycle.
- Add a checked-in machine-readable inventory plus a verifier that fails on drift in declared pointer-bearing fields and root registries.
- Document safepoint and native embedding rules without enabling movement yet.
Acceptance
Parent: #144
Roadmap: #134
Related: #325
Define the auditable pointer and identity contract required before any heap cell can move. This is a correctness foundation, not a claim that compaction is active.
Scope
Acceptance