Files
hakorune/docs/phase-15/README.md
Tomoaki 7d88c04c0e wip(phase15): AOT修正作業中 - Nyプラグインと標準ライブラリ実装
Phase 15のAOT/ネイティブビルド修正作業を継続中。
ChatGPTによるstd実装とプラグインシステムの改修を含む。

主な変更点:
- apps/std/: string.nyashとarray.nyashの標準ライブラリ追加
- apps/smokes/: stdライブラリのスモークテスト追加
- プラグインローダーv2の実装改修
- BoxCallのハンドル管理改善
- JIT hostcall registryの更新
- ビルドスクリプト(build_aot.sh, build_llvm.sh)の調整

まだ修正作業中のため、一部の機能は不完全な状態。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:24:08 +09:00

1.8 KiB
Raw Blame History

Phase 15 — Self-Hosting (Cranelift AOT) 準備メモ

注意: Phase 15 の正本ドキュメントは docs/development/roadmap/phases/phase-15/ 配下です。全体の入口は INDEX.md を参照してください。 → docs/development/roadmap/phases/phase-15/INDEX.md

目的

  • Nyash → MIR → Cranelift AOTC ABI→ オブジェクト → リンク → EXE の最小パイプライン確立。
  • 本ブランチでは「影響小・再現性高い」準備(設計/仕様/スモーク雛形)に限定し、実装は別ブランチで行う。

現状ステータス(このブランチ)

  • 設計ノート: docs/backend-cranelift-aot-design.md
  • インタフェース草案: docs/interfaces/cranelift-aot-box.md
  • LinkerBox 仕様: docs/interfaces/linker-box.md
  • AOTスモーク仕様擬似出力: docs/tests/aot_smoke_cranelift.md
  • スモーク雛形DRYRUN 既定):
    • tools/aot_smoke_cranelift.shUnix/WSL
    • tools/aot_smoke_cranelift.ps1Windows

ハンドオフ

  • 引き継ぎの全体像と運用メモは docs/handoff/phase-15-handoff.md を参照。

次ブランチで実装する項目phase-15/self-host-aot-cranelift

  • CraneliftAotBox: compile_stub_ny_main_i64.o/.obj を出力。
  • LinkerBox: .o/.obj + NyRTlibnyrtで EXE にリンクWindows優先
  • CLI統合: --backend cranelift-aot と PoC フラグ(--poc-const)。
  • スモーク実行: apps/ny-hello → EXE 生成・起動確認。

合否基準P0

  • ny_main を定義するオブジェクトを生成できる。
  • NyRT とリンクして EXE を生成できる。
  • 実行し、既知の値(例: Result: 42)を出力。

補足

  • Windowsを先行サポートし、Linux/macOS は後続対応。
  • 実出力やビルドログは tools/codex-async-notify.sh のログ参照運用を継続。