PLAN-COMPILER-VM: record non-negotiable end state — ONE evaluator, legacy deleted
Dual-path + emit-time legacy fallback are transitional scaffolding only; the VM must reach parity at BOTH comptime sites (emit time AND lowering time), after which the -Dcomptime-flat flag, the fallback, and interp.zig are all removed. We do not ship both evaluators permanently.
This commit is contained in:
@@ -41,6 +41,14 @@ fast.
|
|||||||
field-by-field marshaling — gone.
|
field-by-field marshaling — gone.
|
||||||
- `declare`/`define`/`type_info` and `#compiler`/`BuildOptions` ride this one
|
- `declare`/`define`/`type_info` and `#compiler`/`BuildOptions` ride this one
|
||||||
mechanism; the bespoke interp arms are deleted.
|
mechanism; the bespoke interp arms are deleted.
|
||||||
|
- **ONE evaluator at the end — non-negotiable.** The legacy tagged-`Value` interpreter
|
||||||
|
(`interp.zig`) is **DELETED**. We do NOT ship both permanently. "Dual-path"
|
||||||
|
(a compiler-API fn with both a legacy `compiler_lib` handler AND a VM-native impl) and
|
||||||
|
the emit-time legacy fallback are **transitional only** — scaffolding while the VM
|
||||||
|
reaches parity at BOTH comptime sites (emit time AND lowering time). The flag
|
||||||
|
`-Dcomptime-flat` is the swap mechanism; once the VM runs everywhere with parity, the
|
||||||
|
flag, the fallback, and `interp.zig` all go. Any "VM-only at emit, legacy at lowering"
|
||||||
|
split is a waypoint, never the destination.
|
||||||
|
|
||||||
## Principles (hold at every step)
|
## Principles (hold at every step)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user