refactor(joinir): make jump_args layout explicit (Phase 256)

This commit is contained in:
2025-12-20 13:04:24 +09:00
parent 1028bd419c
commit 4439d64da3
21 changed files with 715 additions and 195 deletions

View File

@ -48,7 +48,7 @@
## 2025-12-19Phase 256StringUtils.split/2 可変 step ループ)🔜
- Phase 256 README: `docs/development/current/main/phases/phase-256/README.md`
- Current first FAIL: `StringUtils.split/2`MIR verification: “Value defined multiple times” + SSA undef
- Current first FAIL: `json_lint_vm`Pattern2 break cond: `this.is_whitespace(...)` needs `current_static_box_name`
- 状況:
- `MirInstruction::Select` の導入は完了、Pattern6index_ofは PASS 維持。
- `ValueId(57)` undefined は根治(原因は `const_1` 未初期化)。
@ -56,6 +56,7 @@
- P1.8で ExitLine/jump_args の余剰許容と関数名マッピングを整流。
- P1.9で `JoinInst::Jump` を tail call として bridge に落とし、`jump_args` を SSOT として保持。
- P1.10で DCE が `jump_args` を used 扱いし、`instruction_spans` を同期SPAN MISMATCH 根治)。
- P1.11で ExitArgsCollector の expr_result slot 判定を明確化し、split が `--verify` / integration smoke まで PASS。
- P1.5-DBG: boundary entry params の契約チェックを追加VM実行前 fail-fast
- P1.6: 契約チェックの薄い集約 `run_all_pipeline_checks()` を導入pipeline の責務を縮退)。