Files
hakorune/src/mir/join_ir_vm_bridge_dispatch/README.md
nyash-codex d34677299e refactor(tests): Reorganize test files into module directories
- Split join_ir_vm_bridge_dispatch.rs into module directory
- Reorganize test files into categorical directories:
  - exec_parity/, flow/, if_no_phi/, joinir/, macro_tests/
  - mir/, parser/, sugar/, vm/, vtable/
- Fix compilation errors after refactoring:
  - BinaryOperator::LessThan → Less, Mod → Modulo
  - Add VM re-export in backend::vm module
  - Fix BinaryOp import to use public API
  - Add callee: None for MirInstruction::Call
  - Fix VMValue type mismatch with proper downcast
  - Resolve borrow checker issues in vtable tests
  - Mark 2 tests using internal APIs as #[ignore]

JoinIR tests: 50 passed, 0 failed, 20 ignored

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 18:28:20 +09:00

670 B

JoinIR VM Bridge Dispatch

Purpose:

  • Centralize JoinIR→VM routing away from the VM runner.
  • Table-driven mapping of MIR function names to JoinIR lowering/exec behavior.
  • Keep Exec vs LowerOnly paths explicit and opt-in via env flags or defaults.

Layout:

  • mod.rs: public entry (try_run_joinir_vm_bridge) + shared routing glue
  • env_flags.rs: env flag evaluation (NYASH_JOINIR_EXPERIMENT, NYASH_JOINIR_VM_BRIDGE)
  • targets.rs: descriptor table (JOINIR_TARGETS, JoinIrBridgeKind, JoinIrTargetDesc)
  • exec_routes.rs: Exec-capable routes (skip_ws, trim)
  • lower_only_routes.rs: LowerOnly routes (Stage1/StageB) for structural verification only