|
|
02c689216b
|
feat(joinir): Phase 216 Selfhost if-sum production test validation
Completes Phase 216: Validates Pattern 3 if-sum implementation with
actual selfhost test case from apps/tests/phase212_if_sum_min.hako.
## Test Results (All Passing)
### Primary Target
- phase212_if_sum_min.hako: RC=2 ✅
- Loop: i=0..2, sum increments when i>0
- Expected: sum=2 (at i=1 and i=2)
- Actual: RC=2
### Regression Tests
- loop_if_phi.hako (Pattern 3): RC=2 ✅
- loop_min_while.hako (Pattern 1): RC=2 ✅
- joinir_min_loop.hako (Pattern 2): RC=2 ✅
## Validation
Confirmed Phase 215-2 fixes are production-ready:
1. JoinIR lowerer creates expr_result correctly
2. Boundary builder passes expr_result to pipeline
3. Final return uses merge result (not Void)
4. ExprResult contract matches Pattern 2
## Architecture
Pattern 3 if-sum flow:
- Source code → Parser → AST → Pattern3IfPhi detection
- JoinIR lowerer (AST extraction + expr_result creation)
- JoinInlineBoundary with expr_result
- JoinIRConversionPipeline returns merge result
- Pattern dispatcher returns expr_result (not Void)
- Final MIR function uses actual sum value
- VM execution: RC=2 (correct value, not 0)
## Documentation
- Added: docs/development/current/main/phase216-selfhost-if-sum-production.md
- Updated: CURRENT_TASK.md (Phase 213-216 complete status)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2025-12-10 01:45:15 +09:00 |
|