Phase 9.78h: VM BinOp and/or short-circuit + BoxRef<Integer> arithmetic; add diagnostic hooks. Update CURRENT_TASK with progress and VM path-tracing TODO. Align docs: MIR26 canonical spec and phase docs.
This commit is contained in:
45
docs/reference/mir/INSTRUCTION_SET.md
Normal file
45
docs/reference/mir/INSTRUCTION_SET.md
Normal file
@ -0,0 +1,45 @@
|
||||
# Nyash MIR Instruction Set (Canonical 26)
|
||||
|
||||
Status: Canonical (Source of Truth)
|
||||
Last Updated: 2025-08-25
|
||||
|
||||
この文書はNyashのMIR命令セットの唯一の参照(26命令)だよ。実装は常にこの一覧に一致し、総数はテストで26に固定する。
|
||||
|
||||
注意: Debug/Nop/Safepointはビルドモードでの降格用メタ命令であり、コア26命令には数えない。
|
||||
|
||||
## Core Instructions(26)
|
||||
- Const
|
||||
- Copy
|
||||
- Load
|
||||
- Store
|
||||
- UnaryOp
|
||||
- BinOp
|
||||
- Compare
|
||||
- Jump
|
||||
- Branch
|
||||
- Phi
|
||||
- Return
|
||||
- Call
|
||||
- ExternCall
|
||||
- BoxCall
|
||||
- NewBox
|
||||
- ArrayGet
|
||||
- ArraySet
|
||||
- RefNew
|
||||
- RefGet
|
||||
- RefSet
|
||||
- Await
|
||||
- Print
|
||||
- TypeOp(TypeCheck/Cast統合)
|
||||
- WeakRef(WeakNew/WeakLoad統合)
|
||||
- Barrier(Read/Write統合)
|
||||
|
||||
## Meta (降格対象; カウント外)
|
||||
- Debug
|
||||
- Nop
|
||||
- Safepoint
|
||||
|
||||
## 同期ルール
|
||||
- 命令の追加/削除/統合は、まずこの文書を更新し、次に実装(列挙/Printer/Verifier/Optimizer/VM)を同期。最後に「総数=26」テストを更新する。
|
||||
- 実装が26を外れた場合はCIを赤にする(設計の合意なく増減させないため)。
|
||||
|
||||
Reference in New Issue
Block a user