Phase 10.10の主要実装: - GcConfigBox: GC設定の実行時制御(counting/trace/barrier_strict) - DebugConfigBox: デバッグ設定の統一管理(JIT events/stats/dump/dot) - メソッドディスパッチ: system_methods.rsで両Boxのメソッド実装 - CountingGC動作確認: write_barriers正常カウント(VM実行時) 技術的詳細: - BoxCore/BoxBase統一アーキテクチャを活用 - setFlag/getFlag/apply/summaryメソッドで統一API提供 - 環境変数経由でVM/JITランタイムと連携 - GcConfigBox.apply()は次回実行から有効(ランタイム作成前に環境変数参照) テスト済み: - examples/gc_counting_demo.nyash: CountingGCの動作確認 - write_barriers=3でArray.push/set, Map.setを正しくカウント - NYASH_GC_TRACE=1でGC統計出力確認 Box-First哲学の体現: 設定も制御も観測もすべてBox! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Phase 10: JIT実装とセルフホスティング
🎯 Phase 10の全体像
Phase 10は、Nyashの実行性能を大幅に向上させるJIT実装と、言語の成熟度を示すセルフホスティングを実現します。
📊 実装優先順位
1️⃣ メイン実装: Cranelift JIT
→ phase_10_cranelift_jit_backend.md
- VMとのハイブリッド実行(ホットパス検出→JIT化)
- 実装期間: 2-3ヶ月
- 目標: ホットパスで2倍以上の高速化
🌟 革新的機能: GC切り替え可能ランタイム
→ phase_10_4_gc_switchable_runtime.md
- 世界初:実行時にGCモード切り替え可能
- 開発時はGCオンで快適、本番はGCオフで高速
- 実装期間: 2-3ヶ月(Cranelift JIT後)
- 技術的にCodex GPT-5が実現可能性を確認済み
2️⃣ 並行プロジェクト: セルフホスティング
→ phase_10_5_core_std_nyash_impl.md
- String/Array/MapをNyash自身で実装
- Rust依存の段階的削減
- 実装期間: 1-2ヶ月
3️⃣ 実戦テスト: アプリケーション移植
- Tinyproxy: ゼロコピー判定機能の検証
- Chip-8エミュレータ: fini伝播とweak参照の実戦テスト
- kiloエディタ: メモリ効率の「うっかり全体コピー」検出
🚫 延期プロジェクト
→ Phase 11: LLVM AOT Backend - 将来の研究開発として分離
🛤️ 実装ロードマップ
Phase 9.79b (現在)
↓
Phase 10.0: Cranelift JIT基盤構築
├→ Phase 10.1-10.3: JIT実装・最適化
├→ Phase 10.4: GC切り替え可能ランタイム ← NEW!
└→ Phase 10.5: セルフホスティング(並行)
↓
Phase 10.9: アプリケーション移植で実戦検証
↓
Phase 11: LLVM AOT研究(将来)
📈 期待される成果
- 実行性能: インタープリタ比100倍、VM比2-3倍の高速化
- 言語成熟度: 基本コンテナのセルフホスティング達成
- 実用性検証: 実アプリケーションの移植による実戦テスト
🔗 関連ドキュメント
- 00_MASTER_ROADMAP.md - 全体計画
- Phase 9.79b - 統一Box設計(前提)
- MIR仕様 - 中間表現