Files
hakorune/docs/private/roadmap/phases/phase-20.12/TASKS.md

40 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Phase 20.12 — Tasks & Checklist (Optimization)
Status: Planned
Objectives
- EXE: C の 6080% を安定達成
- VM : Python と同程度±20%
Deliverables
- [x] AotPrepBoxJSON 正規化/安全な単一ブロック定数畳み込み)
- [x] AotPrepBox inplace 置換main 優先→関数走査。first block の instructions を直接置換して const→ret に簡約)
- [ ] dev/quick で `HAKO_AOT_PREP`/`HAKO_AOT_PREP_LANG` 既定ONdocs/スモーク整合)
- [ ] VMHotPathBox軽量ディスパッチ/メソッドマップ事前構築)
- [x] ゲート: `HAKO_AOT_PREP=1`, `HAKO_VM_FAST_PATH=1`quick 既定ONenv-variables.md 掲載)
- [ ] マイクロベンチスモークdist 形状の起動手順つき)
- [ ] Docs 追記getting-started / c-abi-aot / distribution
- [x] emit-exe 完了時に MIR サイドカーを短文で表示(`[emit-exe] mir: <path>`
- [x] HAKO_SAVE_MIR=1 で `<exe>.mir.json` を保存HAKO_AOT_PREP=1 時は前処理後のMIRを保存
- [x] subtract ベースライン & inprocesssum/mulを代表に昇格ベンチREADMEに記載
- [x] PHI LocalizationLocalizationPhiBox導入単一predは pred 終端値を直接 i64 正規化して使用
- [x] console 降ろしで PhiDispatch→0 の場合に LocalizationPhiBox / pred snapshot フォールバックを実装
- [x] predeclare ポリシーの明確化multipred のみ predeclare空PHIを回避
- [ ] ProgressGuardBoxNYASH_LLVM_LOOP_PROGRESS_GUARD=1: 進捗未更新ループで latch に i++ を合成while_.py
- [ ] LoopForm payload 配線NYASH_ENABLE_LOOPFORM=1: payload_phi に i_next を合流し、確実に進捗を materialize
- [ ] PHI wiring 検証強化empty/incomplete の短文ログ)
Acceptance
- [ ] EXE: 代表マイクロベンチで C の ≥0.6×(関数呼び出し/ループ/配列)
- [ ] VM : Python と ±20% 以内
- [ ] 短文診断/FailFast維持、既存スモークは緑
- [ ] dev/quick 既定ONで emitexe MIR サイドカーの短文・保存内容が安定
- [ ] subtract/inprocess のいずれかで EXE 比率が 0.6× 以上を確認
- [ ] 固定N(小)の new/extern を含むループで EXE が timeout せず完走Box birth 固定N
- [x] STRICT スモークprint(loop var) / print(ifmerge) の EXE 経路が PASS
Bench Setup
- OS: Linux / macOSWindows は SKIP 基準)
- リンカ: `clang -fuse-ld=lld` 推奨Linux
- 計測: `hyperfine` または内蔵スクリプトで3回以上の中央値