Files
hakorune/docs/development/current/CURRENT_TASK.md
Moe Charm e5515ea5e9 docs: Update Phase 9.79b progress - ChatGPT5's implementation advances
- Phase 9.79b.1:  Minimal scope achieved (method_id introduction)
- Phase 9.79b.2:  Minimum completed
  - Universal fast-path thunks (toString/type/equals/clone)
  - Monomorphic PIC with 8-hit threshold for promotion
  - PluginBoxV2 fast-path with minimal TLV support
  - Lazy seed/reservation for builtin/plugin/user slots
  - Version-based cache invalidation framework
- Phase 9.79b.3: → In progress (TypeMeta/Thunk + Poly-PIC + Diagnostics)

🤖 ChatGPT5 is making solid progress on the unified box design implementation\!
2025-08-27 00:06:40 +09:00

3.6 KiB
Raw Blame History

🎯 CURRENT TASK - 2025-08-26Phase 9.79b Kickoff

コンテキストを最小化して、次フェーズへの導線だけ残すにゃ。

⏱️ 今日のフォーカスPhase 9.79b → 9.79b.3: Thunks+Poly-PIC

  • 目的: Boxbuiltin/user/pluginを数値IDスロットvtable/thunk統一に移行し、Phase 10(JIT)への足場を確立する。

直近タスク(小さく早く)

  1. 9.79b.1: Unified Registry IDs + Builder Slotting

    • 型ID/メソッドスロットの導入(レジストリ) 実装
    • ユニバーサルメソッド低スロット予約0..3 テストで不変確認
    • Builderが解決可能なBoxCallにmethod_idを付与(未解決は遅延) 実装/Printer表示
  2. 9.79b.2: VM VTable Thunks + Mono-PIC

    • execute_boxcallをvtable+thunkの単一路線へユニバーサル0..3のfast-path追加 スケルトン
    • call-site単位のモモーフィックPICを追加Key設計とカウンタ導入・記録まで スケルトン
    • 次: 安定閾値での直呼び最適化InstanceBox関数名キャッシュ 実装PIC=8で昇格
    • PluginBoxV2 fast-pathmethod_id直叩き 最小TLVstring/int/handle
    • builtin/plugin/user のslot seed4〜 lazy seed/予約
    • キャッシュ無効化version by label loader/宣言でbump導線
  3. 9.79b.3: VM VTable Thunks + Poly-PIC本実装

    • TypeMetaThunkテーブル正式化slot→thunk→target: builtin/user/plugin 統一in_progress
    • PICをpoly2〜4件に拡張version検証: ヒット/ミス/昇格/evict統計in_progress
    • Diagnostics: Registry dump / MIRDebugInfo / PIC・VT統計 / cache bumpログin_progress

すぐ試せるコマンド

cargo build --release -j32
./target/release/nyash examples/p2p_self_ping.nyash
./target/release/nyash examples/p2p_ping_pong.nyash

現在の地図Done / Next

完了9.79a

  • ユニバーサル前段ディスパッチtoString/type/equals/cloneInterpreter/VM
  • P2P unregister安全化・onOnce/off E2E・self/two-nodeスモーク
  • IntentBoxのpayload糖衣MapBox/JSONBox直渡し可
  • Docs: P2Pリファレンス/サンプル

⏭️9.79b

  • 9.79b.1: phase_9_79b_1_unified_registry_ids_and_builder_slotting.md 最小スコープ達成method_id導入
  • 9.79b.2: phase_9_79b_2_vm_vtable_thunks_and_pic.md ミニマム完了(ユニバーサル/PIC/Plugin fast-path
  • 9.79b.3: phase_9_79b_3_vm_vtable_thunks_and_pic.md → 足場固めTypeMeta/Thunk + Poly-PIC + Diagnostics

統一Box設計メモ唯一参照

  • docs/ideas/other/2025-08-25-unified-box-design-deep-analysis.md
    • 数値ID/スロット/Thunk/PIC/DebugInfoの全体像

参考リンク

  • MIR命令セット: docs/reference/mir/INSTRUCTION_SET.md
  • Phase 9.79a(完了): docs/development/roadmap/phases/phase-9/phase_9_79a_unified_box_dispatch_and_p2p_polish.md
  • Phase 9.79b(計画):
    • docs/development/roadmap/phases/phase-9/phase_9_79b_1_unified_registry_ids_and_builder_slotting.md
    • docs/development/roadmap/phases/phase-9/phase_9_79b_2_vm_vtable_thunks_and_pic.md
  • Phase 10Cranelift JIT主経路: docs/development/roadmap/phases/phase-10/phase_10_cranelift_jit_backend.md

Parking Lot後でやる

  • NyashValue即値最適化・演算子特化
  • トレイト階層化Comparable/Arithmetic etc.
  • オブジェクトリテラル糖衣feature object_literal)提案: docs/ideas/improvements/2025-08-26-object-literal-sugar.md