Files
hakorune/docs/how-to/smokes.md
Selfhosting Dev f0608e9bb1 feat: Phase 2.4 レガシーアーカイブ整理完了(151MB削減)
## 🎉 完了項目
-  plugin_box_legacy.rs削除(7.7KB、参照ゼロ確認済み)
-  REMOVEDコメント整理(encode.rs簡潔化)
-  venv削除(143MB節約、.gitignoreは既存)
-  llvm_legacyスタブ化(8KB、compile_error!による安全化)

## 🏆 成果
- **リポジトリサイズ改善**: 151MB削減
- **コード整理**: レガシーコード安全にアーカイブ
- **プラグインファースト**: StrictPluginFirst継続動作

##  検証完了
- cargo build --release --features llvm (警告のみ、エラーなし)
- LLVMハーネス実行: print出力正常
- プラグイン動作: StringBox等正常動作

codex先生の戦略に従った安全な段階的削除を実行

Co-Authored-By: codex <noreply@anthropic.com>
2025-09-24 14:13:15 +09:00

1.5 KiB
Raw Blame History

Smokes — HowTo前提→手順→検証

目的

  • 代表スモークを素早く回して、回帰を検知する。

前提

  • リリースビルド済み: cargo build --release --features llvm
  • LLVM 18 が導入済みAOT 経路のとき)

手順(推奨ランナー)

  1. LLVM curated
    • 実行: tools/smokes/curated_llvm.sh [--phi-off]
    • 既定は PHI-onMIR14で走るよ。--phi-off を付けたときだけ NYASH_MIR_NO_PHI=1 をセットしてレガシー edge-copy モードへ切り替えるよ。
  2. PHI 不変条件パリティ
    • 実行: tools/smokes/curated_phi_invariants.sh
    • PyVM と llvmlite の stdout/exit code を比較

手動スモーク(例)

  • Core (LLVM): examples/llvm11_core_smoke.nyash
  • Async (LLVM only):
    • apps/tests/async-await-min/main.nyash
    • apps/tests/async-spawn-instance/main.nyash
    • apps/tests/async-await-timeout-fixed/main.nyashNYASH_AWAIT_MAX_MS=100

アーカイブ(非推奨)

  • tools/smokes/archive/ に旧ランナーJIT/Cranelift 時代)が存在
    • smoke_phase_10_10.sh, smoke_vm_jit.sh, smoke_async_spawn.sh, jit_smoke.sh, aot_smoke_cranelift.sh
    • これらは基本使わず、curated 系を使用

便利フラグ

  • NYASH_LLVM_USE_HARNESS=1: llvmlite ハーネス経由
  • NYASH_MIR_NO_PHI=1, NYASH_VERIFY_ALLOW_NO_PHI=1: レガシー PHI-offedge-copyモード。Phase15 では明示指定が必要だよ。

検証

  • 0 で成功、非 0 で失敗CI 連携可)