7f997ee135
Stage 1 Complete: main.rs refactoring (1,490→62 lines, 24x reduction)
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 13:16:12 +00:00
a3bd1af30a
Merge pull request #81 from moe-charm/copilot/fix-80
...
Fix SocketBox state separation issue - method call clone state loss
2025-08-14 22:13:57 +09:00
51d397a3ab
Fix SocketBox state separation issue - method call clone state loss
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 13:10:31 +00:00
b013162a5d
Identified clone state sharing issue - different Arc data pointers
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 13:07:45 +00:00
d9ff77fd37
feat(refactoring): create Issue #82 for strategic codebase modularization
...
🚀 Issue #82 - Nyash Codebase File Size Refactoring
- 問題: 5ファイルが1,100行超えで保守性悪化(main.rs 1,490行が最悪)
- 戦略: Gemini AI専門分析による段階的リファクタリング計画
- 効果: 4x-15x ファイルサイズ削減・開発効率劇的改善
📊 段階的実装計画:
Stage 1: main.rs分割 (1,490→<100行) - CLI/Runner分離
Stage 2: box_trait.rs再編成 (1,456行→boxes/*モジュール配布)
Stage 3-5: parser・interpreter・mir体系的分割
🎯 技術要件:
- Everything is Box哲学維持
- Arc<Mutex>スレッドセーフ設計保持
- 4バックエンド互換性(Interpreter/VM/WASM/AOT)
- 全16種Box型機能保持
✅ 品質保証:
- 機能変更なし(純粋リファクタリング)
- 段階別コンパイル成功必須
- 既存テスト全通過
- Rust慣例的モジュール構成
🤖 Copilot依頼: 段階的進捗報告・アーキテクチャ原則遵守
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 21:48:57 +09:00
56ce5da24d
feat(issue): create Issue #80 for SocketBox state separation problem
...
🚨 Issue #80 - SocketBox State Separation Problem
- Method call clone state loss: bind()で状態設定後、isServer()で異なるCloneを参照し状態失われる
- 根本原因特定済み: メソッド呼び出しごとにSocket IDが変化(17→26→36→51)
- 状態逆流機構の不全: 新Clone内の状態変更が元変数に反映されない
📊 完全再現環境提供:
- test_socket_state_preservation.nyash: 基本的な状態保持失敗再現
- test_socketbox_fix_validation.nyash: 包括的メソッドテスト
- test_other_boxes_working.nyash: 他Box正常動作確認
🔧 Copilot要求事項:
- 根本原因分析: Clone状態同期メカニズムの修正
- 全バグ報告: 些細な問題も含め全発見事項を報告
- 完全検証: 全テストケース通過必須
- Phase 9 HTTPサーバー実装の阻害要因解決
🎯 優先度: HIGH - HTTPサーバー機能に直接影響する状態管理問題
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 21:39:45 +09:00
430a092484
Merge pull request #79 from moe-charm/copilot/fix-78
...
Fix SocketBox deadlock: Remove double-mutex lock in clone debug code
2025-08-14 21:33:20 +09:00
5ada387c73
Complete SocketBox deadlock fix: Clean up debug logging and add comprehensive tests
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 12:29:38 +00:00
06694296a7
Fix SocketBox deadlock: Remove double-mutex lock in clone debug code
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 12:26:46 +00:00
d04f7606e6
fix: Update to new Issue #78 for SocketBox deadlock investigation
...
- Previous Issue #76 and PR #77 closed and recreated
- New streamlined issue focusing on core deadlock problem
- Multiple Arc<Mutex> hypothesis as primary investigation target
- Ready for systematic root cause analysis
🔥 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 21:00:14 +09:00
80c911d3c8
🚨 Critical Issue #76 : SocketBox Method Call Deadlock Investigation
...
## 🎯 Problem Identification Complete
- SocketBox method calls (bind, isServer, toString) cause infinite blocking
- Root cause: Method resolution pipeline deadlock before execute_socket_method
- Other Box types (ArrayBox, StringBox, MapBox) work normally
- Arc<Mutex> reference sharing confirmed working (Arc addresses match = true)
## 🔧 Debug Infrastructure Added
- Comprehensive debug logging in socket_box.rs (bind, isServer, clone, toString)
- Method call tracing in http_methods.rs
- Deadlock detection points identified at interpreter expressions.rs:462-464
## 📋 Issue #76 Created for Copilot Investigation
- Systematic root cause analysis requirements (Architecture→Parser→Runtime levels)
- Comprehensive test cases: minimal/comprehensive/comparison scenarios
- Strict prohibition of band-aid fixes - architectural analysis required
- Hypothesis: Multiple Arc<Mutex> combinations causing circular deadlock
## 🧪 Test Suite Added
- test_socket_deadlock_minimal.nyash: Minimal reproduction case
- test_socket_methods_comprehensive.nyash: All methods deadlock verification
- test_other_boxes_working.nyash: Normal Box operation confirmation
- SOCKETBOX_ISSUE_REPRODUCTION.md: Complete reproduction guide
## 📊 Impact Assessment
- Phase 9 HTTP server implementation completely blocked
- SocketBox functionality entirely non-functional
- Critical blocker for production readiness
- Requires immediate systematic investigation
🔥 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 20:55:33 +09:00
7ceaae957a
Merge pull request #75 from moe-charm/copilot/fix-74
...
🔧 Fix SocketBox state preservation in "Everything is Box" design through Arc reference sharing
2025-08-14 20:05:03 +09:00
dcafdad231
Complete implementation with comprehensive tests and documentation
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 10:27:00 +00:00
8d513a186f
Fix interface compatibility issues with Arc-based reference sharing
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 10:25:41 +00:00
9572d0f321
Implement targeted SocketBox Clone fix for shared mutable state
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 10:14:35 +00:00
654e6692b0
Phase 1-3 implementation: Arc sharing in core data structures
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 10:05:42 +00:00
83d8fecd91
Initial analysis and plan for Arc sharing fix
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 09:55:34 +00:00
7ca298058a
Merge pull request #73 from moe-charm/copilot/fix-72
...
Phase 9.7: Box FFI/ABI + ExternCall Implementation - Universal Library Integration
2025-08-14 18:38:11 +09:00
b8bc41120e
Complete Phase 9.7: Box FFI/ABI + ExternCall with working WASM demo
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 08:59:59 +00:00
2091462441
Implement Phase 9.7: ExternCall instruction and WASM runtime imports
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 08:56:39 +00:00
9b25330d94
docs: NyIR Core 26命令統一完了 - Universal Exchange Vision基盤確立
...
## 🌟 主要変更
- NyIR Core: 25命令 → 26命令(ExternCall追加)
- Universal Exchange Vision実現基盤完成
- Everything is Box哲学:外部ライブラリ統一対応
## 📋 完了した統一作業
- ✅ docs/nyir/spec.md: 26命令正式仕様確定
- ✅ docs/nyir/vision_universal_exchange.md: ChatGPT5ビジョン統合
- ✅ docs/予定/native-plan/copilot_issues.txt: 実装計画全面更新
- ✅ Extension戦略再定義: 言語固有機能に限定
## 🎯 26命令完全定義
**Tier-0 (8命令)**: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
**Tier-1 (13命令)**: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, **ExternCall**,
Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
**Tier-2 (5命令)**: TailCall, Adopt, Release, MemCopy, AtomicFence
## 🔥 ExternCall革命
外部ライブラリをBox統一APIで利用する革命的機能追加
## 📚 新規ドキュメント
- docs/nyir/: NyIR公開仕様フォルダ新設
- box_ffi_abi.md: Box FFI/ABI完全設計(ChatGPT5)
- phase_9_7実装仕様: GitHub Issue #72準備完了
## 🚀 次期タスク
Phase 9.7: Box FFI/ABI実装(Issue #72)
- MIR ExternCall命令実装
- WASM RuntimeImports統合
- Universal Library Integration実現
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 17:26:04 +09:00
5cebf4c1f7
Merge pull request #71 from moe-charm/copilot/fix-70
...
Fix SocketBox state consistency bug - isServer() method now works correctly after bind()
2025-08-14 17:18:35 +09:00
d5fae25dc9
Fixed SocketBox state consistency bug - isServer() now works correctly after bind()
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 08:17:04 +00:00
4548d5acbd
SocketBox state sharing partially fixed - isServer works, listener Arc issue remains
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 08:12:30 +00:00
e3be02db47
Diagnosed Arc sharing issue in SocketBox cloning - complex race condition
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 08:03:48 +00:00
5730d2fa0f
Identified root cause of SocketBox bug - local variable clone issue
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 07:51:06 +00:00
1bcd425edb
Merge pull request #69 from moe-charm/copilot/fix-68
...
Fix WASM Jump/Branch instructions and HTTPServer listen() functionality
2025-08-14 16:21:36 +09:00
99858ecfaa
Add demo showing Phase 9.51 fixes working together
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 07:16:40 +00:00
85a5ce053d
Fix WASM Jump/Branch implementation and HTTPServer listen() functionality
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 07:14:45 +00:00
d1c82cfb28
Merge pull request #67 from moe-charm/copilot/fix-62
...
🌐 Phase 9.5: Complete HTTP Server Infrastructure for AOT Validation
2025-08-14 15:27:01 +09:00
2d3abcbfc0
Phase 9.5 HTTP Server Infrastructure Complete: Comprehensive demo and testing validation
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 06:24:12 +00:00
004b6b7953
Complete HTTP server infrastructure integration and test basic functionality
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 06:20:45 +00:00
212b46825f
Implement HTTP server infrastructure: SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 06:10:52 +00:00
19d4d0632f
Initial analysis: Phase 9.5 HTTP Server implementation plan
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 05:59:08 +00:00
f4f0473ccf
Merge pull request #66 from moe-charm/copilot/fix-65
...
Add string constant support to WASM backend
2025-08-14 14:45:16 +09:00
626572a012
Fix WASM import expectations and validate complete implementation
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 05:35:17 +00:00
c1ae84ce61
Implement basic WASM string constant support
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 05:31:36 +00:00
0fd094dafb
Merge pull request #63 from moe-charm/copilot/fix-61
...
🚀 Phase 9: Implement AOT WASM compilation with wasmtime precompilation
2025-08-14 13:59:03 +09:00
a5bcf95bdd
Complete Week 1 AOT implementation with working CLI and .cwasm generation
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 04:44:26 +00:00
db9bcd3b45
Implement AOT backend infrastructure with CLI integration
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 04:38:20 +00:00
8443635380
feat: Phase 9実用優先戦略・詳細設計ドキュメント完成
...
Phase 8完全完了記念!実用価値最大化でPhase 9開始準備完了:
📋 新規作成ドキュメント:
- phase9_aot_wasm_implementation.md: AOT WASM実装詳細設計
* wasmtime compile統合実装
* 単一バイナリ梱包戦略
* 2-3週間実装ステップ
- phase9_5_http_server_validation.md: HTTPサーバー実用テスト設計
* 並行処理・メモリ管理検証
* AOT性能実証計画
* 配布可能サーバーデモ
🔄 既存ドキュメント更新:
- phase9_jit_baseline_planning.md: 実用優先戦略変更通知
- phase10_aot_scaffolding.md: LLVM Direct AOT完全再設計
- CURRENT_TASK.md: Phase 8完了・Phase 9戦略開始
🎯 実装目標:
- nyash --compile-native app.nyash -o app.exe
- 配布可能実行ファイル生成(500倍高速化目標)
- Everything is Box哲学のネイティブ最適化基盤
🚀 期待効果:
- 「おもちゃ言語」からの卒業
- 短期間で確実な実用価値提供
- Phase 10 LLVM最適化への技術基盤確立
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 13:10:53 +09:00
890b58a19e
docs: 実用優先戦略でPhase 9-10完全再設計
...
Phase 8.6+8.7完了受けて、実用価値最大化戦略に基づく設計変更:
📋 Phase 9-10再設計:
- Phase 9: JIT planning → AOT WASM実装(最優先・2-3週間)
- Phase 9.5: HTTPサーバー実用テスト追加(AOT検証・2週間)
- Phase 10: AOT exploration → LLVM Direct AOT(最高性能・4-6ヶ月)
- Cranelift JIT: Phase 12以降の将来オプションに変更
🎯 実用優先戦略の根拠:
- WASM既に動作済み(13.5倍高速化実証済み)
- AOT実装で即座配布価値提供
- Cranelift JITは重複投資(Rust開発環境改善効果限定)
- 時間効率:2-3ヶ月節約でLLVM集中投資
🚀 期待効果:
- `nyash --compile-native app.nyash -o app.exe` 実現
- 配布可能HTTPサーバーデモ(Phase 9.5)
- Everything is Box哲学のネイティブ最適化
- 1000倍高速化目標(Phase 10)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 13:00:44 +09:00
0e1b3c2c31
Merge pull request #60 from moe-charm/copilot/fix-59
...
Fix VM BoxCall implementation to return actual method results instead of void
2025-08-14 12:56:43 +09:00
87918b0b3e
Complete Phase 8.7: VM BoxCall fix + comprehensive memory management testing
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 03:53:35 +00:00
bf51d3c71b
Expand VM BoxCall support - add StringBox substring/concat and ArrayBox methods
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 03:46:06 +00:00
d26b365791
Fix VM BoxCall implementation - now returns actual method results
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 03:39:08 +00:00
3d04c7766d
Merge pull request #58 from moe-charm/copilot/fix-57
...
Implement Phase 8.5: MIR 25-Instruction Hierarchical Architecture with Ownership Forest Verification
2025-08-14 11:55:40 +09:00
f5f85ef175
Complete Phase 8.5A: MIR 25-instruction hierarchical implementation with working tests and demo
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 02:46:08 +00:00
525747d2b3
Implement Phase 8.5A: Core 25-instruction MIR specification with ownership verification
...
Co-authored-by: moe-charm <217100418+moe-charm@users.noreply.github.com >
2025-08-14 02:39:04 +00:00
ee4228af5a
docs(phase-8.5): Add comprehensive MIR 25-instruction specification
...
• Phase 8.5 complete specification (ChatGPT5 + AI conference decision)
• 25-instruction semantic layering (Tier-0/1/2 structure)
• Effect system (pure/mut/io/control) with optimization rules
• Verifier requirements (ownership forest, weak references, safety)
• Backend implementation guidance (Interpreter/VM/WASM/JIT)
• Two-phase lowering strategy for flexible backend support
• Test strategies (Golden MIR, behavior consistency, performance)
Addresses VM/WASM issues discovered in Phase 8.4 testing:
- VM BoxCall return value problem
- WASM String constant/BoxCall support
- Everything is Box philosophy perfect IR realization
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 11:14:24 +09:00