Phase 25.1a: selfhost builder hotfix (fn rename, docs)
This commit is contained in:
37
CLAUDE.md
37
CLAUDE.md
@ -14,6 +14,13 @@
|
||||
- **型検出システム正常動作**: 型テーブルサイズ 1→3、MatI64インスタンス完全検出
|
||||
- **変換例**: `BoxCall(MatI64, "mul_naive")` → `Call("NyNumericMatI64.mul_naive")`
|
||||
- **検証**: 全テストパス(単体・E2E・変換確認・残骸確認)✅
|
||||
- **🔧 追加修正(継続セッション)**:
|
||||
- **PHI型伝播修正**: 4回反復型伝播で copy → phi → copy チェーン完全対応(8d9bbc40)
|
||||
- **環境変数伝播**: microbench.sh に NYASH_AOT_NUMERIC_CORE 伝播追加(3d082ca1)
|
||||
- **両SSAパターン検証**: 冗長版(13 PHI)& 最適化版(1 PHI)両方で変換成功確認 ✅
|
||||
- **ログ転送問題根治**: hakorune_emit_mir.sh の provider 経路にログ転送追加(ユーザー実装)
|
||||
- **STRICT mode 調査**: check_numeric_core_invariants() 実装済みだが未使用(タイミング問題で無効化)
|
||||
- **🛠️ 推奨ワークフロー確立**: `tools/dev_numeric_core_prep.sh` で環境変数自動設定 ✅
|
||||
|
||||
### 🎯 **Phase 15: セルフホスティング実行器統一化**
|
||||
- **Rust VM + LLVM 2本柱体制**で開発中
|
||||
@ -951,6 +958,36 @@ NYASH_CLI_VERBOSE=1 # 詳細診断
|
||||
NYASH_DUMP_JSON_IR=1 # JSON IR出力
|
||||
```
|
||||
|
||||
### 🧬 Phase 25 Numeric Core 開発ワークフロー(推奨)
|
||||
|
||||
**numeric_core / AotPrep のデバッグは必ず `dev_numeric_core_prep.sh` を使用!**
|
||||
|
||||
```bash
|
||||
# 基本的な使い方
|
||||
tools/dev_numeric_core_prep.sh your_case.hako out.json 2> dev.log
|
||||
|
||||
# ログを確認
|
||||
cat dev.log | grep -E "\[aot/numeric_core\]|\[prep:\]"
|
||||
```
|
||||
|
||||
**環境変数**:
|
||||
- `NYASH_AOT_NUMERIC_CORE=1` - numeric_core パス有効化(自動設定)
|
||||
- `NYASH_AOT_NUMERIC_CORE_TRACE=1` - 詳細ログ出力(自動設定)
|
||||
- `HAKO_APPLY_AOT_PREP=1` - AotPrep パイプライン有効化(自動設定)
|
||||
|
||||
**期待されるログ出力**:
|
||||
```
|
||||
[aot/numeric_core] type table size: 4
|
||||
[aot/numeric_core] copy-prop MatI64: r2 → r6
|
||||
[aot/numeric_core] phi-prop MatI64: r7
|
||||
[aot/numeric_core] transformed BoxCall(MatI64, mul_naive) → Call(NyNumericMatI64.mul_naive)
|
||||
```
|
||||
|
||||
**トラブルシューティング**:
|
||||
- ログが見えない → `hakorune_emit_mir.sh` のログ転送確認
|
||||
- 変換されない → 型テーブルに MatI64 が登録されているか確認
|
||||
- STRICT mode エラー → Pre-AotPrep 段階での誤検出(無効化推奨)
|
||||
|
||||
### 🤖 AI相談
|
||||
```bash
|
||||
# Gemini CLIで相談
|
||||
|
||||
Reference in New Issue
Block a user