feat: Phase 2.4 レガシーアーカイブ整理完了(151MB削減)

## 🎉 完了項目
-  plugin_box_legacy.rs削除(7.7KB、参照ゼロ確認済み)
-  REMOVEDコメント整理(encode.rs簡潔化)
-  venv削除(143MB節約、.gitignoreは既存)
-  llvm_legacyスタブ化(8KB、compile_error!による安全化)

## 🏆 成果
- **リポジトリサイズ改善**: 151MB削減
- **コード整理**: レガシーコード安全にアーカイブ
- **プラグインファースト**: StrictPluginFirst継続動作

##  検証完了
- cargo build --release --features llvm (警告のみ、エラーなし)
- LLVMハーネス実行: print出力正常
- プラグイン動作: StringBox等正常動作

codex先生の戦略に従った安全な段階的削除を実行

Co-Authored-By: codex <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-24 14:13:15 +09:00
parent f4fe548787
commit f0608e9bb1
42 changed files with 682 additions and 536 deletions

View File

@ -11,11 +11,11 @@ Normalization of println/print
Backend Behavior
- LLVM/AOT (EXE-first):
- `env.console.log` lowers to NyRT exports and links statically.
- `env.console.log` is normalized in the LLVM builder to kernel exports and links statically.
- Primary mapping uses pointer-API when possible to avoid handle churn:
- `nyash.console.log(i8*) -> i64`
- Fallback to handle-API helpers if only a handle is available.
- Runtime result line: NyRT prints `Result: <code>` after `ny_main()` returns. Set `NYASH_NYRT_SILENT_RESULT=1` to suppress for tests.
- Fallback to handle-API helpers (`nyash.string.to_i8p_h`) if only a handle is available.
- Runtime result line: the kernel prints `Result: <code>` after `ny_main()` returns. Set `NYASH_NYRT_SILENT_RESULT=1` to suppress for tests.
- PyVM:
- Accepts `env.console.log/warn/error` and writes to stdout (MVP). Return is `0` when a destination is present.
- JIT:
@ -24,7 +24,7 @@ Backend Behavior
MIR JSON v0 Encoding
- Instruction shape:
- `{ "op": "externcall", "func": "env.console.log", "args": [<vid>], "dst": <vid|null>, "dst_type": "i64"? }`
- Builder may also emit `"func": "nyash.console.log"` in some paths; both are accepted by backends.
- Builder may also emit `"func": "nyash.console.log"` in some paths; both are accepted by backends. The LLVM builder maps `env.console.*` to `nyash.console.*` automatically.
Key Fields (JSON v0, minimal)
- `op`: literal `"externcall"`.