docs(phase260): checkpoint P0/P0.1 + update quick first fail
This commit is contained in:
@ -18,20 +18,26 @@
|
||||
|
||||
## Current First FAIL (SSOT)
|
||||
|
||||
- **Before Phase 259 P0**: `json_lint_vm / StringUtils.is_integer/1`
|
||||
- **After Phase 259 P0**: `json_lint_vm / Main.main/0 nested-loop with break`
|
||||
- **After Phase 260 P0.1**: `core_direct_array_oob_set_rc_vm / Stage-B compile / JoinIR Pattern2 LoopBodyLocal(seg)`
|
||||
|
||||
### Next FAIL Details
|
||||
|
||||
- **Test**: `json_lint_vm`
|
||||
- **Function**: `Main.main/0`
|
||||
- **Error**: `[cf_loop/pattern2] Failed to extract break condition from loop body`
|
||||
- **Pattern**: Nested loop(外側 `loop(i < cases.length())` 内で内側 `loop(j < valid.length())` + break)
|
||||
- **Test**: `core_direct_array_oob_set_rc_vm`
|
||||
- **Phase**: Stage‑B compile (`stageb_compile_to_json`)
|
||||
- **Error**: `[cf_loop/pattern2] Cannot promote LoopBodyLocal variables ["seg"] ... [pattern2/body_local_slot/contract/not_readonly]`
|
||||
- **Reproduce**:
|
||||
```bash
|
||||
./target/release/hakorune --backend vm apps/examples/json_lint/main.hako
|
||||
bash tools/smokes/v2/profiles/quick/core/core_direct_array_oob_set_rc_vm.sh
|
||||
```
|
||||
- **Note**: is_integer/1 自体は Pattern8 で解決済み。残りは nested-loop 処理の問題(Phase 260+)
|
||||
- **Note**: Pattern2 の LoopBodyLocal promotion(A-3 Trim / A-4 DigitPos)に依存しており、Stage‑B の bundle_resolver 系のループで露出している。
|
||||
|
||||
## 2025-12-20:Phase 260 P0/P0.1(edge-args Strangler)🚧
|
||||
|
||||
- P0: MIR terminator の edge-args 併存導入(読む側 SSOT を `out_edges()`/`edge_args_to()` へ寄せた)
|
||||
- P0.1: legacy layout の未設定を禁止(verify fail-fast)+ terminator 直代入を `set_terminator*()` へ寄せた
|
||||
- Commits:
|
||||
- P0: `4dfe3349b`
|
||||
- P0.1: `1fe5be347`
|
||||
|
||||
## 2025-12-21:Phase 259 P0(Pattern8 BoolPredicateScan)✅
|
||||
|
||||
|
||||
Reference in New Issue
Block a user