ResultBox migration (stage 0): suppress legacy deprecation warnings in box_trait impls; keep dual handling in VM. Fix verifier Display for SuspiciousBarrierContext. Expose VM stats fields to vm_stats module. CLI core_ci guide and script in place.

This commit is contained in:
Moe Charm
2025-08-26 01:42:18 +09:00
parent 7705508b99
commit 9c94e88b86
13 changed files with 408 additions and 36 deletions

View File

@ -0,0 +1,20 @@
## CLI分離テスト導線軽量版
目的: CLI変更に引きずられずにコアのMIR/VMを検証できる導線を用意する構成は今は変えない
### 推奨手順
- コアのビルドとゴールデン照合のみで回す:
- `cargo build --release -j32`
- `./tools/ci_check_golden.sh`
- 代表E2Eプラグイン前提のみ任意:
- `cargo test --features plugins -q -- --nocapture`
### ヘルパースクリプト
- `tools/core_ci.sh`: コアのビルドゴールデン照合を一括実行CI/ローカル共用)
### 将来の分割方針(メモ)
- Cargo workspace化 or lib/binary分割で `cargo test -p core` を走らせる。
- runnerCLIフラグ/バックエンド選択)変更の影響をコア側に伝播させない。
最終更新: 2025-08-25

View File

@ -75,7 +75,7 @@ tools/ci_check_golden.sh # 代表ケースのMIR含有チェック
- 修正後、`local_tests/and_or_vm.nyash``false/true` の出力を確認。
2. **MIR26命令対応**
- TypeOp/WeakRef/Barrierのプリンタ拡張
- スナップショット整備
- スナップショット整備extern_call/loop/boxcall/typeop_mixed 追加済)
- vm-stats差分確認
3. **Builder適用拡大**
@ -365,3 +365,9 @@ tools/run_vm_stats.sh local_tests/vm_stats_http_err.nyash vm_stats_err.json
# 7) VM BoxCall デバッグ(任意)
NYASH_VM_DEBUG_BOXCALL=1 ./target/release/nyash --backend vm local_tests/test_vm_array_getset.nyash
```
- MIR26 整合候補1確認:
- Printer: `--mir-verbose-effects``pure|readonly|side` 表記と TypeOp/WeakRef/Barrier/ExternCall の表示が整合。
- Verifier: SSA/支配/CFG/merge-phi に加え WeakRef/Barrier の最小検証Strict Barrier診断を実装環境変数でON
- Optimizer: 未lowering検知is/as/isType/asTypeをBoxCall/Call両経路で検出、`NYASH_OPT_DIAG_FAIL=1` と連携。
- 代表スナップショット: extern_call/loop/boxcall/typeop_mixed をCIに追加、全件緑。
- 注: WeakRef/Barrier の“統合”はPoCフラグで切替可能レガシー命令も支援—MIR26はドキュメントの正典、実装は互換を維持。