Skip to content

Commit 5a886cd

Browse files
Haofeiclaude
andcommitted
Update JIT roadmap: tier-0 is now a specializing executor (not analysis-only)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 5d373c4 commit 5a886cd

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

docs/jit-roadmap.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,16 @@ and the compiled (Rust-lowering) backend. Built verification-first.
2727

2828
- **Phase 0 — N-way differential framework.** Done. `Backend` trait
2929
(interp/jit/compiled), `assert_backends_agree`, generative differential.
30-
- **Phase 1 — tier-0 JIT (seam + correctness floor).** Done.
31-
`reg_vm_eval_source_main_jit` runs per-function eligibility analysis and
32-
executes through the shared interpreter; `JitPlan` reports eligible vs
33-
fallback. No native code yet.
30+
- **Phase 1 — tier-0 JIT (specializing executor).** Done.
31+
`RegVm::run_jit` executes JIT-eligible functions (the numeric/control core)
32+
via a specializing loop that reuses the interpreter's exact value/register
33+
semantics (`eval_numeric_binary`/`eval_numeric_compare`/`reg`/`set_reg`/…), so
34+
it is gap-free by construction. Integrated into `drive`'s frame loop with
35+
per-function fallback to the interpreter for anything outside the subset.
36+
Exercised by the 3-way differential (generative arithmetic/comparisons/branches
37+
+ hand-written params/loops). No native code yet; eligible heap/field/match
38+
instructions and calls are the next coverage step (prefer extracting a shared
39+
`exec_instr` over duplicating arms, to keep gap-freeness structural).
3440

3541
## Phase 2 — native baseline codegen
3642

0 commit comments

Comments
 (0)