diff --git a/docs/予定/native-plan/issues/phase10_aot_scaffolding.md b/docs/予定/native-plan/issues/phase10_aot_scaffolding.md new file mode 100644 index 00000000..df7b41b3 --- /dev/null +++ b/docs/予定/native-plan/issues/phase10_aot_scaffolding.md @@ -0,0 +1,24 @@ +# Phase 10: AOT scaffolding (exploration) + +## Summary +- AOT の下ごしらえ(ビルド配線と最小 PoC)。将来の本実装に向け、ターゲット/成果物レイアウト/テストの枠組みを整える。 + +## Scope +- Cargo features/targets の整理(aot 用 feature/target の予約のみ) +- 生成物レイアウト案(dist/ 下のファイル構成、メタデータ) +- 実行フローの素案(nyash → MIR → AOT 生成 → 実行) + +## Tasks +- [ ] AOT feature/target の定義(実装は未着手でOK) +- [ ] dist/ レイアウトのひな形作成(README/Licenses 同梱方針) +- [ ] PoC: ダミー AOT 生成物(プレースホルダ)とテストスクリプト + +## Acceptance Criteria +- AOT 用のビルド配線が雛形レベルで通る(ビルド/テスト スケルトン) +- dist/ の標準レイアウトが定義され、CI に載せられる状態 + +## Out of Scope +- 実際の AOT コンパイル・最適化 + +## References +- docs/予定/native-plan/copilot_issues.txt(Phase 10) diff --git a/docs/予定/native-plan/issues/phase14_packaging_ci_polish.md b/docs/予定/native-plan/issues/phase14_packaging_ci_polish.md new file mode 100644 index 00000000..fab67211 --- /dev/null +++ b/docs/予定/native-plan/issues/phase14_packaging_ci_polish.md @@ -0,0 +1,24 @@ +# Phase 14: Packaging/CI polish + +## Summary +- Windows/Linux の配布パッケージ化と CI 整備。利用者がすぐ使えるバイナリを提供し、ビルドの再現性を担保する。 + +## Scope +- CI: GitHub Actions で Windows(MSVC) / WSL + cargo-xwin のマトリクス +- リリース成果物: dist/nyash(.exe) + README + LICENSE (必要なら examples/) +- 署名/ハッシュ(任意):SHA256 発行・検証手順 + +## Tasks +- [ ] actions ワークフロー作成(キャッシュ/マトリクス/アーティファクト) +- [ ] dist 出力スクリプト(バージョン埋め込み) +- [ ] リリースノートの雛形追加(CHANGELOG or GitHub Releases) + +## Acceptance Criteria +- Actions が緑で、アーティファクトが自動生成・ダウンロード可能 +- dist/ の内容が README に記載通り + +## Out of Scope +- コードサイン(必要になったら追補) + +## References +- docs/予定/native-plan/copilot_issues.txt(Phase 14) diff --git a/docs/予定/native-plan/issues/phase9_jit_baseline_planning.md b/docs/予定/native-plan/issues/phase9_jit_baseline_planning.md new file mode 100644 index 00000000..9fbcb640 --- /dev/null +++ b/docs/予定/native-plan/issues/phase9_jit_baseline_planning.md @@ -0,0 +1,30 @@ +# Phase 9: JIT (baseline) planning + +## Summary +- baseline JIT の設計と MIR→JIT の変換方針固め。Deopt/Safepoint/Effects を明示し、将来の最適化に耐える骨格を用意する。 + +## Scope +- 値表現の選定: Tagged/NaN-box vs 型テーブル参照(最小は i64 tagged or enum 型でOK)。 +- Safepoint の配置規約: 関数入口・ループ先頭・Call直後(既存の MIR.Safepoint と整合)。 +- Deopt テーブル: JIT 最適化時に巻き戻すための SSA マップ(値ID→ロケーション)。 +- Effects の扱い: PURE/READS_HEAP/WRITES_HEAP/IO/FFI/PANIC を JIT バリアに伝播。 +- コード生成の骨格: MIR → IR(Cranelift 等は未導入でもよく、当面スケルトン/ダミーで可)。 + +## Tasks +- [ ] 設計ドキュメント(本ファイル)に各項目の選択肢と採用案を明記 +- [ ] Deopt/Safepoint/Effects の最小ランタイム表現のドラフト +- [ ] MIR から JIT IR への変換インタフェースの草案(未実装で可) +- [ ] PoC: JIT off(インタプリタ同等)で VM と結果一致するハーネス + +## Acceptance Criteria +- 設計ドキュメントに採用方針と根拠が明記されている +- Deopt/Safepoint/Effects の最小表現が固まっている +- PoC ハーネスで VM と一致(JIT off 状態) + +## Out of Scope +- 実際の JIT 最適化/レジスタ割付/高度なコード生成 +- GC/Weak の本番バリア + +## References +- docs/予定/native-plan/README.md(Safepoint/Barrier 項) +- docs/予定/native-plan/copilot_issues.txt(Phase 9)