2025-08-29 03:32:50 +09:00
|
|
|
|
# 🎯 CURRENT TASK - 2025-08-29(Phase 10.1 革新的転換)
|
2025-08-29 02:47:55 +09:00
|
|
|
|
|
2025-08-29 03:32:50 +09:00
|
|
|
|
Phase 10.10 は完了(DoD確認済)。**重大な発見**:プラグインシステムを活用したJIT→EXE実現の道を発見!
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 革新的発見:プラグインBox統一化
|
|
|
|
|
|
|
|
|
|
|
|
### 核心的洞察
|
|
|
|
|
|
- 既存のプラグインシステム(BID-FFI)がすでに**完全なC ABI**を持っている
|
|
|
|
|
|
- すべてのBoxをプラグイン化すれば、JIT→EXEが自然に実現可能
|
|
|
|
|
|
- "Everything is Box" → "Everything is Plugin" への進化
|
2025-08-29 02:47:55 +09:00
|
|
|
|
|
|
|
|
|
|
## ⏱️ 今日のサマリ
|
2025-08-29 03:32:50 +09:00
|
|
|
|
- 発見: プラグインBox経由でのJIT→EXE実現可能性
|
|
|
|
|
|
- 決定: Phase 10.1を「プラグインBox統一化」に変更
|
|
|
|
|
|
- 移動: 旧Phase 10.1(Python統合)→ Phase 10.5へ
|
2025-08-29 02:47:55 +09:00
|
|
|
|
|
|
|
|
|
|
## 現在地(Done / Doing / Next)
|
|
|
|
|
|
- ✅ Done(Phase 10.10)
|
|
|
|
|
|
- GC Switchable Runtime(GcConfigBox)/ Unified Debug(DebugConfigBox)
|
|
|
|
|
|
- JitPolicyBox(allowlist/presets)/ HostCallのRO運用(events連携)
|
|
|
|
|
|
- CIスモーク導入(runtime/compile-events)/ 代表サンプル整備
|
2025-08-29 03:32:50 +09:00
|
|
|
|
- 🔧 Doing(Phase 10.1 新計画)
|
|
|
|
|
|
- ArrayBoxのプラグイン化PoC開始
|
|
|
|
|
|
- JIT lowering層の統一設計
|
|
|
|
|
|
- リファクタリング作業は継続(core_hostcall.rs完了)
|
|
|
|
|
|
- ⏭️ Next(Phase 10.1 実装)
|
|
|
|
|
|
- Week1: ArrayBoxプラグイン化と性能測定
|
|
|
|
|
|
- Week2: 主要ビルトインBoxの移行
|
|
|
|
|
|
- Week3: スタティックリンク基盤構築
|
|
|
|
|
|
- Week4: EXE生成実証
|
2025-08-29 02:47:55 +09:00
|
|
|
|
|
|
|
|
|
|
## リファクタリング計画(機能差分なし)
|
|
|
|
|
|
1) core_hostcall 分割(イベントlower+emit_host_call周辺)
|
|
|
|
|
|
- 追加: `src/jit/lower/core_hostcall.rs`
|
|
|
|
|
|
- `mod.rs`/`core.rs` のモジュール参照を更新
|
|
|
|
|
|
- 確認: `cargo check` → `bash tools/smoke_phase_10_10.sh`
|
|
|
|
|
|
2) core_ops 分割(算術/比較/分岐)
|
|
|
|
|
|
- 追加: `src/jit/lower/core_ops.rs`
|
|
|
|
|
|
- CLIF配線やb1正規化カウンタは移動のみ
|
|
|
|
|
|
- 確認: `cargo check` → 代表JITデモ2本を手動確認
|
|
|
|
|
|
3) 仕上げ
|
|
|
|
|
|
- 1ファイル ~1000行以内目安を満たすこと
|
|
|
|
|
|
- ドキュメント差分は最小(本CURRENT_TASKのみ更新)
|
|
|
|
|
|
|
|
|
|
|
|
### DoD(Refactor)
|
|
|
|
|
|
- `cargo check` が成功し、`tools/smoke_phase_10_10.sh` がGreen
|
|
|
|
|
|
- ログ/イベント出力がリファクタ前と一致(体感差分なし)
|
|
|
|
|
|
- `core.rs`/`builder.rs` の行数削減(目安 < 1000)
|
|
|
|
|
|
|
2025-08-29 03:32:50 +09:00
|
|
|
|
## Phase 10.1 新計画:プラグインBox統一化
|
|
|
|
|
|
- 参照: `docs/development/roadmap/phases/phase-10.1/` (新計画)
|
|
|
|
|
|
- 詳細: `docs/ideas/new-features/2025-08-28-jit-exe-via-plugin-unification.md`
|
2025-08-29 02:47:55 +09:00
|
|
|
|
- Week1(概要)
|
2025-08-29 03:32:50 +09:00
|
|
|
|
- ArrayBoxプラグイン実装とテスト
|
|
|
|
|
|
- JIT→Plugin呼び出しパス確立
|
|
|
|
|
|
- パフォーマンス測定と最適化
|
|
|
|
|
|
|
|
|
|
|
|
## Phase 10.5(旧10.1):Python統合
|
|
|
|
|
|
- 参照: `docs/development/roadmap/phases/phase-10.5/` (移動済み)
|
|
|
|
|
|
- ChatGPT5の当初計画を後段フェーズへ
|
2025-08-29 02:47:55 +09:00
|
|
|
|
|
|
|
|
|
|
## すぐ試せるコマンド(現状維持の確認)
|
2025-08-28 09:26:58 +09:00
|
|
|
|
```bash
|
2025-08-29 02:05:39 +09:00
|
|
|
|
# Build(Cranelift込み推奨)
|
|
|
|
|
|
cargo build --release -j32 --features cranelift-jit
|
|
|
|
|
|
|
2025-08-29 02:47:55 +09:00
|
|
|
|
# Smoke(10.10の代表確認)
|
|
|
|
|
|
bash tools/smoke_phase_10_10.sh
|
|
|
|
|
|
|
|
|
|
|
|
# HostCall(HH直実行・read-only方針)
|
2025-08-29 02:05:39 +09:00
|
|
|
|
NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
|
|
|
|
|
./target/release/nyash --backend vm examples/jit_map_get_param_hh.nyash
|
|
|
|
|
|
NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 \
|
|
|
|
|
|
./target/release/nyash --backend vm examples/jit_policy_whitelist_demo.nyash
|
|
|
|
|
|
|
|
|
|
|
|
# GC counting(VMパス)
|
|
|
|
|
|
./target/release/nyash --backend vm examples/gc_counting_demo.nyash
|
|
|
|
|
|
|
2025-08-29 02:47:55 +09:00
|
|
|
|
# compileイベントのみ(必要時)
|
2025-08-29 02:05:39 +09:00
|
|
|
|
NYASH_JIT_EVENTS_COMPILE=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS_PATH=events.jsonl \
|
|
|
|
|
|
./target/release/nyash --backend vm examples/jit_map_get_param_hh.nyash
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-08-29 02:47:55 +09:00
|
|
|
|
## 参考リンク
|
2025-08-29 03:32:50 +09:00
|
|
|
|
- Phase 10.1(新): `docs/development/roadmap/phases/phase-10.1/README.md` - プラグインBox統一化
|
|
|
|
|
|
- Phase 10.5(旧10.1): `docs/development/roadmap/phases/phase-10.5/README.md` - Python統合
|
2025-08-29 02:47:55 +09:00
|
|
|
|
- Phase 10.10: `docs/development/roadmap/phases/phase-10/phase_10_10/README.md`
|
2025-08-29 03:32:50 +09:00
|
|
|
|
- プラグインAPI: `src/bid/plugin_api.rs`
|
2025-08-29 02:47:55 +09:00
|
|
|
|
- MIR命令セット: `docs/reference/mir/INSTRUCTION_SET.md`
|
2025-08-29 02:05:39 +09:00
|
|
|
|
|
2025-08-29 02:47:55 +09:00
|
|
|
|
## Checkpoint(再起動用メモ)
|
|
|
|
|
|
- 状態確認: `git status` / `git log --oneline -3` / `cargo check`
|
|
|
|
|
|
- スモーク: `bash tools/smoke_phase_10_10.sh`
|
|
|
|
|
|
- 次の一手: core_hostcall → core_ops の順に分割、毎回ビルド/スモークで確認
|
2025-08-29 02:19:50 +09:00
|
|
|
|
|