tomoaki
ce2baa0d47
feat(llvm): Phase 285 P3 - KeepAlive/ReleaseStrong LLVM implementation
Phase 285 P3: LLVM One-Pass (VM/LLVM一気通貫の最小ゲート)
## 実装内容
### 1. LLVM Backend (Python)
- src/llvm_py/instructions/lifecycle.py: NEW
- lower_keepalive(): no-op (DCE/liveness only)
- lower_release_strong(): ny_release_strong() 呼び出し
- src/llvm_py/builders/instruction_lower.py:
- KeepAlive/ReleaseStrong ディスパッチエントリ追加
### 2. Runtime (Rust)
- crates/nyash_kernel/src/lib.rs:
- ny_release_strong(handle: i64): handles::drop() 呼び出し
- Phase 287対応(変数上書きセマンティクス)
### 3. MIR JSON Serialization
- src/runner/mir_json_emit.rs:
- KeepAlive/ReleaseStrong JSON emit 追加(両関数)
- {"op":"keepalive","values":[...]}
- {"op":"release_strong","values":[...]}
## テスト結果
✅ **phase285_p2_weak_upgrade_fail_llvm**: PASS (exit 1, weak_to_strong null)
⏸️ **phase285_p2_weak_upgrade_success_llvm**: SKIP (--version に features 表示なし)
⏸️ **phase284_p2_return_in_loop_llvm**: SKIP (同上)
## SKIP理由(--version feature表示問題)
テストスクリプトが `--version | grep "features.*llvm"` で環境チェックするが、
現在の --version は "nyash 1.0" のみ出力。LLVM feature有効でも SKIP される。
**対応方針**: Phase 285 P3 目的(KeepAlive/ReleaseStrong LLVM実装)達成。
--version feature表示は Phase 286以降で対応予定。
## 検証
- cargo build --release --features llvm: OK
- weak_upgrade_fail_llvm: PASS (VM/LLVM parity確認)
- quick gate: 154/154 PASS (退行なし)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 14:34:05 +09:00
..
2025-12-08 23:43:26 +09:00
2025-12-04 13:32:58 +09:00
2025-12-26 14:12:58 +09:00
2025-09-24 14:13:15 +09:00
2025-12-12 23:11:45 +09:00
2025-08-18 20:53:48 +09:00
2025-12-10 00:01:53 +09:00
2025-12-24 08:43:48 +09:00
2025-11-21 06:25:17 +09:00
2025-12-11 20:54:33 +09:00
2025-12-25 13:28:41 +09:00
2025-12-25 00:11:34 +09:00
2025-09-17 07:43:07 +09:00
2025-11-21 06:25:17 +09:00
2025-12-22 14:48:37 +09:00
2025-11-22 05:33:40 +09:00
2025-12-26 14:34:05 +09:00
2025-12-25 00:11:34 +09:00
2025-09-17 07:43:07 +09:00
2025-12-26 14:12:58 +09:00
2025-12-25 05:18:06 +09:00
2025-12-11 20:54:33 +09:00
2025-11-10 23:17:46 +09:00
2025-12-26 14:34:05 +09:00
2025-12-25 05:18:06 +09:00
2025-09-23 02:15:56 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-12-21 04:34:22 +09:00
2025-11-30 14:30:28 +09:00
2025-09-17 07:43:07 +09:00
2025-11-30 14:30:28 +09:00
2025-12-24 17:21:21 +09:00
2025-11-20 03:56:12 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-11-13 18:55:14 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-12-08 23:43:26 +09:00
2025-11-21 06:25:17 +09:00
2025-12-11 20:54:33 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-12-01 11:10:46 +09:00
2025-09-17 07:43:07 +09:00
2025-09-19 12:13:43 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00