Files
hakorune/docs/development/roadmap
nyash-codex f74b7d2b04 📦 Hotfix 1 & 2: Parameter ValueId Reservation + Exit PHI Validation (Box-First Theory)
**箱理論に基づく根治的修正**:

## 🎯 Hotfix 1: Parameter ValueId Reservation (パラメータ ValueId 予約)

### 根本原因
- MirFunction counter が params.len() を考慮していなかった
- local variables が parameter ValueIds を上書き

### 箱理論的解決
1. **LoopFormContext Box**
   - パラメータ予約を明示的に管理
   - 境界をはっきりさせる

2. **MirFunction::new() 改善**
   - `initial_counter = param_count.max(1)` でパラメータ予約
   - Parameters are %0, %1, ..., %N-1

3. **ensure_counter_after() 強化**
   - パラメータ数 + 既存 ValueIds 両方を考慮
   - `min_counter = param_count.max(max_id + 1)`

4. **reserve_parameter_value_ids() 追加**
   - 明示的な予約メソッド(Box-First)

## 🎯 Hotfix 2: Exit PHI Predecessor Validation (Exit PHI 検証)

### 根本原因
- LoopForm builder が存在しないブロックを PHI predecessor に追加
- 「幽霊ブロック」問題

### 箱理論的解決
1. **LoopFormOps.block_exists() 追加**
   - CFG 存在確認メソッド
   - 境界を明確化

2. **build_exit_phis() 検証**
   - 非存在ブロックをスキップ
   - デバッグログ付き

### 実装ファイル
- `src/mir/function.rs`: Parameter reservation
- `src/mir/phi_core/loopform_builder.rs`: Context + validation
- `src/mir/loop_builder.rs`: LoopFormOps impl
- `src/mir/builder/stmts.rs`: Local variable allocation

### 業界標準準拠
-  LLVM IR: Parameters are %0, %1, ...
-  SSA Form: PHI predecessors must exist in CFG
-  Cytron et al. (1991): Parameter reservation principle

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 06:39:45 +09:00
..

🗺️ Nyash 予定(ロードマップ・タスク)

📋 現在進行中

🎯 最重要タスク

  • 現在のタスク: ../../CURRENT_TASK.md
  • Phase 8.3: Box操作WASM実装Copilot担当
  • Phase 8.4: ネイティブコンパイル実装計画AI大会議策定済み

🚀 ネイティブコンパイル計画 (2025-08-14策定)

📊 AI大会議成果

実装フェーズ

  • Phase A (2-3週間): AOT WASM → 500倍高速化目標
  • Phase B (2-3ヶ月): Cranelift Direct → 600倍高速化目標
  • Phase C (6ヶ月+): LLVM Ultimate → 1000倍高速化目標

🤖 Copilot協調管理

📋 Copilot作業管理

🎯 フェーズ別課題

📊 実装状況追跡

完了済み (Phase 8.2)

  • WASM: 0.17ms (280倍高速化)
  • VM: 16.97ms (2.9倍高速化)
  • ベンチマークシステム完成
  • 3バックエンド統合CLI

🚧 進行中 (Phase 8.3)

  • Box操作WASM対応Copilot実装中
  • RefNew/RefGet/RefSet命令
  • メモリレイアウト最適化

🔜 次期予定 (Phase 8.4+)

📚 関連ドキュメント

📖 技術資料

🔄 進捗管理

  • 定期更新: 毎週金曜日に進捗反映
  • AI会議: 重要決定事項は3AI大会議で検討
  • ベンチマーク: 性能回帰チェック自動実行

最終更新: 2025-08-14 - AI大会議によるネイティブコンパイル戦略確定