selfhost(pyvm): MiniVmPrints – prefer JSON route early-return (ok==1) to avoid fallback loops; keep default behavior unchanged elsewhere
This commit is contained in:
@ -7,4 +7,4 @@
|
||||
- 関連: ABI/BIDドラフトは `../予定/native-plan/box_ffi_abi.md`
|
||||
|
||||
補足:
|
||||
- NyIR Core(25命令)は凍結。拡張は NyIR-Ext(exceptions/concurrency/atomics)で段階導入。
|
||||
- NyIR Core(25命令)は仕様固定。拡張は NyIR-Ext(exceptions/concurrency/atomics)で段階導入。
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Phase 9.10: NyIR v1 仕様・フォーマット・検証器(公開IRの確立)
|
||||
|
||||
目的
|
||||
- NyashのMIRを公開IR(NyIR v1)として凍結し、あらゆるフロントエンド/バックエンドの共通契約とする。
|
||||
- NyashのMIRを公開IR(NyIR v1)として仕様固定し、あらゆるフロントエンド/バックエンドの共通契約とする。
|
||||
- 仕様・テキスト/バイナリフォーマット・厳格検証器・ツール群を整備し、移植性と一貫性を保証する。
|
||||
|
||||
成果物(Deliverables)
|
||||
@ -15,7 +15,7 @@
|
||||
- Golden NyIR: `golden/*.nyir`(代表サンプルを固定、CIで全バックエンド一致を検証)
|
||||
|
||||
仕様の要点(NyIR v1)
|
||||
- 命令セット: 25命令(Tier-0/1/2)を凍結
|
||||
- 命令セット: 25命令(Tier-0/1/2)を仕様固定
|
||||
- Tier-0: Const, BinOp, Compare, Branch, Jump, Phi, Call, Return
|
||||
- Tier-1: NewBox, BoxFieldLoad, BoxFieldStore, BoxCall, Safepoint, RefGet, RefSet, WeakNew, WeakLoad, WeakCheck, Send, Recv
|
||||
- Tier-2: TailCall, Adopt, Release, MemCopy, AtomicFence
|
||||
@ -64,7 +64,7 @@ Golden / Differential テスト
|
||||
- 10.x: NyIR→LLVM IR(別Phase)
|
||||
|
||||
リスク
|
||||
- 仕様凍結の硬直化 → 拡張はfeatureビット+拡張セクションへ
|
||||
- 仕様固定の硬直化 → 拡張はfeatureビット+拡張セクションへ
|
||||
- 実装の重複 → Verifier/フォーマットは共有ライブラリ化
|
||||
|
||||
最終更新: 2025-08-14
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
Purpose
|
||||
- Define NyIR (public intermediate representation) as the portable contract for all frontends/backends.
|
||||
- Freeze the 25-instruction set, effects, ownership forest, weak semantics, and bus contract.
|
||||
- Fix/specify the 25-instruction set, effects, ownership forest, weak semantics, and bus contract (frozen spec).
|
||||
|
||||
Status
|
||||
- Version: nyir1.0 (draft)
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
- 最適化は二の次。まずは意味保存(semantics-preserving)を最優先で実現し、可搬性と一貫性を担保する。
|
||||
|
||||
中核方針(Core Policy)
|
||||
- NyIR Core(26命令)は基本セマンティクス凍結。ExternCallによる外部世界接続を含む。
|
||||
- NyIR Core(26命令)は基本セマンティクスを仕様固定。ExternCallによる外部世界接続を含む。
|
||||
- 拡張は NyIR-Ext(exceptions/concurrency/atomics)で言語固有機能を段階導入。
|
||||
- Everything is Box哲学: 外部ライブラリもBIDによりBox統一インターフェースで利用。
|
||||
- 仕様の正本は `docs/nyir/spec.md` に集約(Core+Ext)。
|
||||
@ -41,4 +41,3 @@
|
||||
- NyIR 仕様: `spec.md`
|
||||
- ABI/BID: `../予定/native-plan/box_ffi_abi.md`
|
||||
- 9.10 タスク(Copilot向け): `../予定/native-plan/issues/phase_9_10_nyir_spec.md`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user