61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
# Phase 10: JIT実装とセルフホスティング
|
||
|
||
## 🎯 Phase 10の全体像
|
||
|
||
Phase 10は、Nyashの実行性能を大幅に向上させるJIT実装と、言語の成熟度を示すセルフホスティングを実現します。
|
||
|
||
## 📊 実装優先順位
|
||
|
||
### 1️⃣ **メイン実装: Cranelift JIT**
|
||
→ [phase_10_cranelift_jit_backend.md](phase_10_cranelift_jit_backend.md)
|
||
- VMとのハイブリッド実行(ホットパス検出→JIT化)
|
||
- 実装期間: 2-3ヶ月
|
||
- 目標: ホットパスで2倍以上の高速化
|
||
|
||
### 🌟 **革新的機能: GC切り替え可能ランタイム**
|
||
→ [phase_10_4_gc_switchable_runtime.md](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](phase_10_5_core_std_nyash_impl.md)
|
||
- String/Array/MapをNyash自身で実装
|
||
- Rust依存の段階的削減
|
||
- 実装期間: 1-2ヶ月
|
||
|
||
### 3️⃣ **実戦テスト: アプリケーション移植**
|
||
→ [phase_10_app_migration.md](phase_10_app_migration.md)
|
||
- Tinyproxy: ゼロコピー判定機能の検証
|
||
- Chip-8エミュレータ: fini伝播とweak参照の実戦テスト
|
||
- kiloエディタ: メモリ効率の「うっかり全体コピー」検出
|
||
|
||
### 🚫 **延期プロジェクト**
|
||
→ [Phase 11: LLVM AOT Backend](../phase-11/) - 将来の研究開発として分離
|
||
|
||
## 🛤️ 実装ロードマップ
|
||
|
||
```
|
||
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研究(将来)
|
||
```
|
||
|
||
## 📈 期待される成果
|
||
|
||
1. **実行性能**: インタープリタ比100倍、VM比2-3倍の高速化
|
||
2. **言語成熟度**: 基本コンテナのセルフホスティング達成
|
||
3. **実用性検証**: 実アプリケーションの移植による実戦テスト
|
||
|
||
## 🔗 関連ドキュメント
|
||
- [00_MASTER_ROADMAP.md](../00_MASTER_ROADMAP.md) - 全体計画
|
||
- [Phase 9.79b](../phase-9/) - 統一Box設計(前提)
|
||
- [MIR仕様](../../../../reference/mir/) - 中間表現 |