Parent: #263 Depends on: #262 Roadmap: #142, #134
Implement the reference-types-owned value and table surface, preserving precise-GC edges.
Acceptance:
- Decode and validate funcref value positions, typed select, ref.null, ref.is_null, ref.func, table.get, and table.set.
- Support multiple tables and explicit table indices where the selected revision requires them.
- Execute table.get/set plus table.grow/size/fill and preserve null/function identity across instances.
- Integrate reference stack/local/global/table edges with precise GC and cross-instance linking.
- Add JavaScript API and focused binary/runtime coverage with stable disabled-feature diagnostics.
Child issue map
- #274 — typed reference slots and precise-GC publication
- #275 — reference instructions and multi-table runtime
Implementation order
Land #274 first so every externref location has a sound liveness model before any module can enable reference-type opcodes. Then #275 implements the binary, validator, runtime, and JavaScript surfaces on that substrate.