|
|
adbb0201a9
|
chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt
|
2025-09-17 07:43:07 +09:00 |
|
|
|
11506cee3b
|
Phase 11-12: LLVM backend initial, semantics layer, plugin unification
Major changes:
- LLVM backend initial implementation (compiler.rs, llvm mode)
- Semantics layer integration in interpreter (operators.rs)
- Phase 12 plugin architecture revision (3-layer system)
- Builtin box removal preparation
- MIR instruction set documentation (26→Core-15 migration)
- Cross-backend testing infrastructure
- Await/nowait syntax support
New features:
- LLVM AOT compilation support (--backend llvm)
- Semantics layer for interpreter→VM flow
- Tri-backend smoke tests
- Plugin-only registry mode
Bug fixes:
- Interpreter plugin box arithmetic operations
- Branch test returns incorrect values
Documentation:
- Phase 12 README.md updated with new plugin architecture
- Removed obsolete NYIR proposals
- Added LLVM test programs documentation
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-01 23:44:34 +09:00 |
|
|
|
1eee62a8ea
|
feat(jit): JIT Strictモード実装とプラグイン経路の安定化
- InvokePolicy/Observe導入でLowererの分岐をスリム化
- ArrayBox/MapBox/StringBoxのプラグイン経路統一
- 特殊コメント機能(@jit-debug, @plugin-builtins, @jit-strict)実装
- 型ヒント伝搬パス(TypeHintPass)を独立モジュール化
- VM→Plugin引数整合の安定化(I64統一、IntegerBox自動プリミティブ化)
- StringBoxのpost-birth初期化(空文字列セグフォルト修正)
- JIT観測サンプル追加(Array/Map/String)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-29 21:39:47 +09:00 |
|
|
|
3d8ba3f3ec
|
fix(jit): NewBoxのJIT安全化とDebugBox Phase 1実装
- NewBoxのJIT扱いを安全化(src/jit/lower/core.rs)
- NYASH_USE_PLUGIN_BUILTINS=1 && args.is_empty() かつ StringBox/IntegerBox のみJIT許可
- ArrayBox/MapBox等のプラグインBoxまたは引数ありはunsupportedとしてカウント
- unsupported>0の関数はJIT対象外となりVM実行にフォールバック(Segfault回避)
- DebugBox Phase 1実装(JITトレース機能)
- tracePluginCalls(bool)でJITシムトレースON/OFF
- getJitEvents()で直近のJITイベント取得
- src/jit/shim_trace.rs追加でトレース基盤実装
- Printのサポート
- PrintはJIT非対応に戻しVM経路で確実に出力(出力消失解消)
- テストとサンプル追加
- examples/jit_plugin_invoke_param_array.nyash: 最小JITスモークテスト
- examples/py_result_*.nyash: Python plugin結果チェーン処理デモ
- PyRuntimeBox拡張
- str()メソッドでPyObjectのstring表現を取得可能に
- エラーハンドリング改善とResultチェーンサポート
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-29 13:46:18 +09:00 |
|
|
|
d67f27f4b8
|
Phase 10.10: GC Switchable Runtime & Unified Debug System 実装完了
Phase 10.10の主要実装:
- GcConfigBox: GC設定の実行時制御(counting/trace/barrier_strict)
- DebugConfigBox: デバッグ設定の統一管理(JIT events/stats/dump/dot)
- メソッドディスパッチ: system_methods.rsで両Boxのメソッド実装
- CountingGC動作確認: write_barriers正常カウント(VM実行時)
技術的詳細:
- BoxCore/BoxBase統一アーキテクチャを活用
- setFlag/getFlag/apply/summaryメソッドで統一API提供
- 環境変数経由でVM/JITランタイムと連携
- GcConfigBox.apply()は次回実行から有効(ランタイム作成前に環境変数参照)
テスト済み:
- examples/gc_counting_demo.nyash: CountingGCの動作確認
- write_barriers=3でArray.push/set, Map.setを正しくカウント
- NYASH_GC_TRACE=1でGC統計出力確認
Box-First哲学の体現: 設定も制御も観測もすべてBox!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-28 22:31:51 +09:00 |
|
|
|
e54561e69f
|
Phase 10.7 - JIT統計とイベント機能の完成
主要な実装:
- PHI(b1)統計追跡: phi_total_slots/phi_b1_slotsをJSON出力
- 関数単位統計API: JitStatsBox.perFunction()で詳細統計取得
- JITイベントシステム: compile/execute/fallback/trapをJSONL形式で記録
- Store/Load命令対応: ローカル変数を含む関数のJIT実行が可能に
新しいBox:
- JitStatsBox: JIT統計の取得
- JitConfigBox: JIT設定の管理(将来用)
- JitEventsBox: イベントのJSONL出力(将来用)
- JitPolicyBox: 実行ポリシー管理(将来用)
CLI拡張:
- --jit-exec, --jit-stats, --jit-dump等のフラグ追加
- --jit-directモードでの独立JIT実行
- NYASH_JIT_*環境変数によるきめ細かい制御
ドキュメント:
- Phase 10.7実装計画の詳細化
- Phase 10.9 (ビルトインBox JIT) の計画追加
- JIT統計JSONスキーマ v1の仕様化
ChatGPT5との共同開発により、JIT基盤が大幅に強化されました。
次はPhase 10.9でビルトインBoxのJIT対応を進め、
Python統合(Phase 10.1)への道を開きます。
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-28 09:26:58 +09:00 |
|
|
|
ddae7fe1fc
|
Phase 10_6b scheduler complete; 10_4 GC hooks + counting/strict tracing; 10_c minimal JIT path (i64/bool consts, binop/compare/return, hostcall opt-in); docs & examples; add Phase 10.7 roadmap (JIT branch wiring + minimal ABI).
|
2025-08-27 17:06:46 +09:00 |
|
|
|
de03514085
|
feat: Phase 10_b JIT implementation progress + academic paper ideas
Phase 10_b JIT Lower implementation:
- IRBuilder abstraction with NoopBuilder (emit counting) ✅
- CraneliftBuilder skeleton (feature `cranelift-jit`) ✅
- LowerCore implementation (Const/Copy/BinOp/Cmp/Branch/Ret) ✅
- Engine.compile with builder selection and JIT handle generation ✅
- JIT function table with stub functions ✅
- Basic i64 const/binop/ret emission for Cranelift
- VM execution path with NYASH_JIT_EXEC=1 support
Academic ideas and analysis:
- "Everything is Thread-Safe Box" concept
- "GC as debug tool" paradigm analysis
- GC switchable semantic equivalence documentation
- Gemini & Codex evaluation on academic paper potential
- Nyash academic papers potential themes
Current limitations:
- Return values limited to i64 (VMValue::Integer)
- Arguments not yet supported
- Compare/Branch emit not implemented
- Trap→VM fallback not implemented
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-27 03:16:57 +09:00 |
|