Fixed infinite loop issue in VM by addressing phi node caching problem. The phi node was caching the initial value and returning it for all subsequent iterations, preventing loop variable updates. Changes: - Created vm_phi.rs module to separate loop execution logic (similar to mir/loop_builder.rs) - Disabled phi node caching to ensure correct value selection each iteration - Added LoopExecutor to track block transitions and handle phi nodes properly - Fixed VM to correctly track previous_block for phi input selection The VM now correctly executes SSA-form loops with proper variable updates: - Loop counter increments correctly - Phi nodes select the right input based on control flow - Test case now completes successfully (i=1,2,3,4) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
📚 Nyash Documentation
最初に確認:
- 現在のタスク: docs/CURRENT_TASK.md
- コア概念の速習: docs/nyash_core_concepts.md
構成(最小3系)
- 説明書: docs/説明書/README.md
- ネイティブビルド: docs/説明書/native-build/README.md
- WASM: docs/説明書/wasm/
- 入門/言語ガイド/P2P/リファレンス: docs/説明書/, docs/説明書/reference/
- 予定: docs/予定/README.md
- CURRENT_TASK, ネイティブ計画、フェーズ課題
- archive: docs/archive/
- 旧資料・議事録・試験メモ
すぐ始める
- Getting Started: docs/説明書/GETTING_STARTED.md
- Language Guide: docs/説明書/LANGUAGE_GUIDE.md
- P2P Guide: docs/説明書/P2P_GUIDE.md
参考資料(Reference)
- 言語リファレンス: docs/説明書/reference/language-reference.md
- デリゲーション構文: docs/説明書/reference/override-delegation-syntax.md
- 設計思想: docs/説明書/reference/design-philosophy.md
- ビルトイン一覧: docs/説明書/reference/builtin-boxes.md
- P2P仕様: docs/説明書/reference/p2p_spec.md
- 詳細仕様フォルダ: docs/説明書/reference/language-specification/
Nyash は「Everything is Box」哲学に基づく言語です。詳細はコア概念とガイドを参照してください。