Files
hakorune/docs/development/current/main/phases/phase-273/P2-COMPLETION.md

34 lines
1.4 KiB
Markdown
Raw Normal View History

# Phase 273 P2 Completion (2025-12-22)
P2 Goal:
- Pattern7split scanを Plan ラインDomainPlan→CorePlan→Lowererへ移行し、Lowerer の “pattern知識” を増やさない。
## Delivered
- CoreEffectPlan: 副作用対応
- `MethodCall``dst: Option<ValueId>` を持てる(`push` 等の void-return 対応)
- `effects: EffectMask` を CorePlan から指定できるPURE ではない呼び出しを明示)
- CoreLoopPlan: 一般化Pattern6/7 の収束点)
- `block_effects: Vec<(BasicBlockId, Vec<CoreEffectPlan>)>`
- `phis: Vec<CorePhiInfo>`
- `frag: Frag`terminator SSOT: `emit_frag()`
- `final_values: Vec<(String, ValueId)>`variable_map 更新の SSOT
- Pattern7: Plan ライン移行
- Extractor は purebuilder を触らない)
- Normalizer が split 固有のブロック構造/PHI/Frag を決定SSOT
- Lowerer は CorePlan を吐くだけpattern-agnostic
## Regression / Validation
- VM:
- `tools/smokes/v2/profiles/integration/apps/phase256_p0_split_vm.sh` PASSPattern7
- `tools/smokes/v2/profiles/integration/apps/phase258_p0_index_of_string_vm.sh` PASSPattern6
## Notes
- P2 は “generalized 経路” と “legacy fallback” を共存させた(移行中の安全策)。
- 次の P3 で Pattern6 も generalized 経路へ移し、legacy fallback を撤去すると収束が完成する。