CJC MIR Executor (v2 register-machine interpreter).
Execute a lowered MIR program by interpreting it directly. This is the v2
executor that operates on the [cjc_mir::MirProgram] representation produced
by the AST -> HIR -> MIR lowering pipeline.
Parity requirement
The behavior must be bit-identical to the tree-walk AST interpreter
([cjc_eval]) for every program+seed pair (Parity Gate G-1 / G-2).
Pipeline
AST -> HIR (cjc_hir) -> MIR (cjc_mir) -> [Optimize] -> MirExecutor
Entry points
| Function | Description |
|---|---|
[run_program] |
Basic AST -> MIR -> exec |
[run_program_with_executor] |
Same, but returns the executor for inspection |
[run_program_optimized] |
With MIR optimization (CF + DCE) |
[run_program_type_checked] |
With compile-time type checking gate |
[run_program_monomorphized] |
With monomorphization + optimization |
[run_program_with_modules] |
Multi-file module support |
[run_program_cfg] |
CFG-based block-walking executor |
[verify_nogc] |
Static NoGC verification |
[lower_to_mir] |
Lower AST to MIR for inspection |