25 lines
987 B
Markdown
25 lines
987 B
Markdown
# Scope & Assumptions (2025-09-19)
|
||
|
||
## Current Execution Lines
|
||
- In-scope: PyVM (semantic reference), LLVM/llvmlite (AOT/EXE harness)
|
||
- Out-of-scope: Cranelift JIT and Rust MIR Interpreter (maintenance only during Phase‑15)
|
||
|
||
## MIR14 Policy
|
||
- PHI-off at MIR: merges are represented by per-predecessor edge copies
|
||
- PHI synthesis is delegated to the LLVM harness (block-head PHIs, typed incoming)
|
||
- Verifier runs with `verify_allow_no_phi()` and edge-copy checks
|
||
|
||
## Parity & Evaluation
|
||
- Parity: PyVM vs LLVM output equivalence on curated smokes
|
||
- Metrics: runtime, startup time, memory; report only for PyVM/LLVM lines
|
||
- Tracing: `NYASH_LLVM_TRACE_PHI=1`, IR dump `NYASH_LLVM_DUMP_IR=...`
|
||
|
||
## Toggles
|
||
- `NYASH_MIR_NO_PHI=1` (default) — PHI disabled at MIR
|
||
- Dev-only PHI-on: build with `--features phi-legacy` and set `NYASH_MIR_NO_PHI=0`
|
||
|
||
## Notes
|
||
- Figures and text must avoid implying MIR-side PHI placement as default.
|
||
- Reference canonical specs live under `docs/reference/`.
|
||
|