Files
hakorune/docs/development/current/CURRENT_TASK.md
Moe Charm 98fd6a1e3e docs: Update CURRENT_TASK with VM enhancements and test results
- Document dynamic type conversion implementations
- Add test results for Integer non-zero conditions
- Update ArrayBox/MapBox VM method support status
- Record SocketBox timeout method implementations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 18:52:18 +09:00

3.4 KiB
Raw Blame History

🎯 CURRENT TASK - 2025年8月23日刷新

直近の完了

  1. ドキュメント再編成の完了(構造刷新)
  2. VM×プラグインのE2E整備FileBox/Net
    • FileBox: open/write/read, copyFrom(handle)VM
    • Net: GET/POSTVM、404/500Ok(Response)、unreachableErr(ErrorBox)
  3. VM命令カウンタ時間計測のCLI化--vm-stats, --vm-stats-jsonとJSON出力対応
    • サンプル/スクリプト整備tools/run_vm_stats.sh、local_tests/vm_stats_*.nyash
  4. MIR if-merge 修正retがphi dstを返す Verifier強化mergeでのphi未使用検知
  5. ドキュメント追加・更新
    • Dynamic Plugin FlowMIR→VM→Registry→Loader→Plugin
    • Netプラグインのエラーモデルunreachable=Err, 404/500=Ok
    • E2Eテスト一覧整備
  6. CI: plugins E2E ジョブLinuxを追加

🚧 次にやること(再開方針)

  1. MIR→VMの健全化短期・最優先
  • マッピング表更新Err経路・Handle戻り・Result整合を実測で反映
  • Verifierルールの拡充use-before-def across merge を強化)
  • 成果物: docs/reference/architecture/mir-to-vm-mapping.md(更新済・追補)
  1. VM×プラグインシステムのE2E検証短期
  • FileBox/Netを中心にケース拡張大きいボディ、ヘッダー多数、タイムアウト等
  • 成果物: E2E追補VM_README.md に既知の制約とTipsを追記
  1. 命令セットのダイエット中期目標26命令
  • 実測HTTP OK/404/500/unreachable、FileBoxを反映して合意版を確定
  • 統合方針TypeOp/WeakRef/Barrierの統合、ExternCall最小化
  • 段階移行(ビルドモードでメタ降格、互換エイリアス→削除)と回帰テスト整備
  • 成果物: 26命令案合意版移行計画

▶ 実行コマンド例

計測実行:

tools/run_vm_stats.sh local_tests/vm_stats_http_ok.nyash vm_stats_ok.json
tools/run_vm_stats.sh local_tests/vm_stats_http_err.nyash vm_stats_err.json
tools/run_vm_stats.sh local_tests/vm_stats_http_404.nyash vm_stats_404.json
tools/run_vm_stats.sh local_tests/vm_stats_http_500.nyash vm_stats_500.json

VM×プラグインE2E:

cargo test -q --features plugins e2e_interpreter_plugin_filebox_close_void
cargo test -q --features plugins e2e_vm_plugin_filebox_close_void

MIRダンプ/検証:

nyash --dump-mir --mir-verbose examples/plugin_box_sample.nyash
nyash --verify examples/plugin_box_sample.nyash

🔭 26命令ターゲット合意ドラフト

  • コア: Const / Copy / Load / Store / BinOp / UnaryOp / Compare / Jump / Branch / Phi / Return / Call / BoxCall / NewBox / ArrayGet / ArraySet / RefNew / RefGet / RefSet / Await / Print / ExternCall(最小) / TypeOp(=TypeCheck/Cast統合) / WeakRef(=WeakNew/WeakLoad統合) / Barrier(=Read/Write統合)
  • メタ降格: Debug / Nop / Safepointビルドモードで制御

最終更新: 2025年8月23日VM×Plugins安定・MIR修正・26命令合意ドラフト再起動チェックポイント

🔁 再起動後の再開手順(ショート)

# 1) ビルド
cargo build --release -j32

# 2) plugins E2ELinux
cargo test --features plugins -q -- --nocapture

# 3) VM Stats 代表値の再取得(任意)
tools/run_vm_stats.sh local_tests/vm_stats_http_ok.nyash vm_stats_ok.json
tools/run_vm_stats.sh local_tests/vm_stats_http_err.nyash vm_stats_err.json