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

36 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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` のログ参照運用を継続。