32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
## Phase 20.13 — Script-built EXE Replacement (Runner/VM/Loader/Linker)
|
||
|
||
Status: Closed (2025‑10‑27)
|
||
|
||
目的
|
||
- Hakorune スクリプトで書かれた最適化ロジックを AOT で EXE 化し、Runner/Loader/一部VM補助を段階置換する。
|
||
- C‑ABI の最小カーネル(メモリ/FFI/診断/OS境界)は残し、上物を置換(Box‑First + 可逆)。
|
||
|
||
フォルダ構成(実体)
|
||
- lang/src/tools/runner_front/ — 入口採用と整流(OK/NOOP/FAIL)
|
||
- lang/src/tools/loader_front/ — ロード方針の採用(allowlist/policy)
|
||
- lang/src/tools/vm_front/ — 軽ディスパッチ整流(任意)
|
||
- docs/guides/tools/front-exe-overview.md — 共通契約/ENV/スモークの概説
|
||
|
||
方針
|
||
- 入口は AotBox を維持。内部で C‑ABI → FFI(native/harness) を選択(現行方針継続)。
|
||
- スクリプトEXEは“前段の意思決定/整流/前処理”を担当、Rust本体(ミニマムカーネル)は安全運転を担保。
|
||
- パリティはスモークで観測、失敗時は短文で Fail‑Fast、フォールバックはしない。
|
||
|
||
性能目標
|
||
- Phase 20.12 で得た性能を維持または微増(EXE: C の 0.6–0.8×、VM: Python ±20%)
|
||
|
||
成果(要約)
|
||
- Front EXE(runner/loader/vm)契約を確立(OK/NOOP/FAIL)。既定OFF、ゲートで可逆。
|
||
- Gate‑C(Core) 直行+frontチェーン(runner→Core)canary 緑化。数値は ExitCode に反映。
|
||
- loader_front フックは Handled(採用)時に ENV に適用し、Rust側は早期リターン。
|
||
- ドキュメント/スモーク整備(front‑exe overview, quick allowlist)。
|
||
|
||
次フェーズ
|
||
- 20.14: ENV 改革(HAKO_* 正規化、alias運用、プロファイル統合)、内蔵front導入の段階化
|
||
- 20.15–20.17: 自己ホストへの転換(最小コンパイラ→網羅→Freeze v1)
|