feat: GC機能復活&VM整理&json_native調査完了
## 🎉 ChatGPT×Claude協働成果 - ✅ **GC機能復活**: vm-legacy削除で失われたGC機能を新実装で復活 - GCメトリクス追跡システム実装(alloc/collect/pause計測) - 3種類のGCモード対応(counting/mark_sweep/generational) - host_handles.rsでハンドル管理復活 - ✅ **VM整理とエイリアス追加**: 混乱していた名前を整理 - MirInterpreter = NyashVm = VM のエイリアス統一 - vm-legacyとインタープリターの違いを明確化 - 壊れていたvm.rsの互換性修復 - ✅ **スモークテスト整理**: v2構造でプラグイン/コア分離 - plugins/ディレクトリにプラグインテスト移動 - gc_metrics.sh, gc_mode_off.sh, async_await.sh追加 - _ensure_fixture.shでプラグイン事前ビルド確認 ## 📊 json_native調査結果 - **現状**: 25%完成(配列/オブジェクトパース未実装) - **将来性**: 並行処理でyyjson超えの可能性大 - 100KB以上のJSONで2-10倍速の可能性 - Nyash ABI実装後はゼロコピー最適化 - **判断**: 現時点では置換不可、将来の大きな足場 ## 🔍 技術的発見 - vm-legacy = 完全なVM実装(GC付き)だった - MirInterpreter = 現在のRust VM(712行、Arc使用) - 200行簡易JSONは既に削除済み(存在しない) ChatGPT爆速修復×Claude詳細調査の完璧な協働! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -85,20 +85,18 @@ PHI-on の補助トレース
|
||||
- 出力: 1 行 JSON(JSONL)。`NYASH_LLVM_TRACE_OUT=<path>` に追記出力。
|
||||
- イベント: `finalize_begin/finalize_dst/add_incoming/wire_choose/snapshot` など(pred→dst 整合が分かる)
|
||||
|
||||
クイック実行
|
||||
クイック実行(v2)
|
||||
```bash
|
||||
# すべてPHI‑offで OK。llvmlite ハーネスと if-merge プリパスをON
|
||||
NYASH_LLVM_TRACE_PHI=1 NYASH_LLVM_TRACE_OUT=tmp/phi.jsonl \
|
||||
NYASH_LLVM_USE_HARNESS=1 NYASH_LLVM_PREPASS_IFMERGE=1 \
|
||||
bash tools/test/smoke/llvm/phi_trace/test.sh
|
||||
# 代表サンプルを LLVM ハーネスで実行し PHI トレースを採取(v2 スクリプト)
|
||||
bash tools/smokes/phi_trace_local.sh
|
||||
|
||||
# 結果の検証(要: python3)
|
||||
python3 tools/phi_trace_check.py --file tmp/phi.jsonl --summary
|
||||
python3 tools/phi_trace_check.py --file tmp/phi_trace.jsonl --summary
|
||||
```
|
||||
|
||||
ショートカット
|
||||
- `tools/smokes/phi_trace_local.sh`(ビルド→スモーク→チェックを一括)
|
||||
- `tools/smokes/fast_local.sh` は `NYASH_LLVM_TRACE_SMOKE=1` でオプション実行
|
||||
- `tools/smokes/phi_trace_local.sh`(ビルド→サンプル実行→チェックを一括)
|
||||
- `tools/smokes/v2/run.sh --profile quick|integration` で代表スモークを実行
|
||||
|
||||
|
||||
## 🔌 **プラグインテスター(BID-FFI診断ツール)**
|
||||
|
||||
Reference in New Issue
Block a user