From f1a4a78379d0e7a63213522cc7a0a9c0aa77676e Mon Sep 17 00:00:00 2001 From: Moe Charm Date: Tue, 26 Aug 2025 06:41:30 +0900 Subject: [PATCH] Docs: mark PoC features as deprecated (unified ops are default) - mir_typeop_poc / mir_refbarrier_unify_poc are no-op now; Builder emits TypeOp/WeakRef/Barrier by default; Optimizer normalizes legacy ops. - Update CURRENT_TASK and architecture/proposal docs accordingly. --- docs/development/current/CURRENT_TASK.md | 2 +- .../proposals/mir-typeop-weakref-barrier-poc.md | 9 ++++++--- docs/reference/architecture/mir-26-instruction-diet.md | 6 ++++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/development/current/CURRENT_TASK.md b/docs/development/current/CURRENT_TASK.md index 4c9987de..af4bedc2 100644 --- a/docs/development/current/CURRENT_TASK.md +++ b/docs/development/current/CURRENT_TASK.md @@ -282,7 +282,7 @@ nyash --backend vm local_tests/and_or_truthy_vm.nyash # 期待: false,true,fals - プリンタ拡張: `TypeOp/WeakRef/Barrier` を `--mir-verbose` に明示表示 - スナップショット整備: 代表ケースで flag ON/OFF のMIR差分固定化 - vm-stats差分: `weak_field_poc.nyash` 等で JSON 取得・比較(キー: TypeOp/WeakRef/Barrier) - - 旗: `mir_typeop_poc`(TypeCheck/Cast→TypeOp)、`mir_refbarrier_unify_poc`(Weak*/Barrier→統合) +- 注: `mir_typeop_poc` / `mir_refbarrier_unify_poc` は非推奨(no-op)。Builderは統合命令(TypeOp/WeakRef/Barrier)を常に生成する。Optimizerに旧命令→統合命令の正規化パスあり。 2) Builder適用拡大(短期〜中期) - 言語 `is/as` 導線(最小でも擬似ノード)→ `emit_type_check/emit_cast` へ配線 diff --git a/docs/development/proposals/mir-typeop-weakref-barrier-poc.md b/docs/development/proposals/mir-typeop-weakref-barrier-poc.md index 7785a52a..05277fd1 100644 --- a/docs/development/proposals/mir-typeop-weakref-barrier-poc.md +++ b/docs/development/proposals/mir-typeop-weakref-barrier-poc.md @@ -17,8 +17,12 @@ Last Updated: 2025-08-23 - Remove legacy instructions permanently (kept behind feature flags) ## Feature Flags (Cargo) -- `mir_typeop_poc`: enable TypeOp and map TypeCheck/Cast to it during build -- `mir_refbarrier_unify_poc`: enable WeakRef/Barrier unified ops and map legacy calls +Note: 2025-08 Phase 9.78h 時点で統合命令はデフォルトとなり、以下のflagsは非推奨(no-op)だよ: + +- `mir_typeop_poc`: Builderは常に`TypeOp(Check/Cast)`を生成(旧`TypeCheck/Cast`は使わない)。 +- `mir_refbarrier_unify_poc`: Builderは常に`WeakRef/Barrier`を生成(旧`WeakNew/WeakLoad/BarrierRead/Write`は使わない)。 + +互換性のため、Optimizerに旧命令→統合命令への正規化パス(Pass 0)が入っているにゃ。 ## Mapping (Current → PoC) - TypeCheck { value, expected_type } → TypeOp { op: Check, value, type } (bool) @@ -78,4 +82,3 @@ Last Updated: 2025-08-23 - Add builder mapping behind flags - Add VM execution behind flags - Gate CI job to run PoC flags on Linux - diff --git a/docs/reference/architecture/mir-26-instruction-diet.md b/docs/reference/architecture/mir-26-instruction-diet.md index 60712c20..205775bc 100644 --- a/docs/reference/architecture/mir-26-instruction-diet.md +++ b/docs/reference/architecture/mir-26-instruction-diet.md @@ -87,8 +87,10 @@ Appendix: Rationale --- Feature Flags (Cargo) -- `mir_typeop_poc`: enable TypeOp PoC mapping (builder emits TypeOp instead of TypeCheck/Cast) -- `mir_refbarrier_unify_poc`: enable WeakRef/Barrier PoC mapping (builder emits unified ops) +- Deprecated flags (unified by default): + - `mir_typeop_poc`: no-op now. Builder always emits `TypeOp(Check/Cast)` instead of legacy `TypeCheck/Cast`。 + - `mir_refbarrier_unify_poc`: no-op now. Builder always emits `WeakRef/Barrier` instead of legacy `WeakNew/WeakLoad/BarrierRead/Write`。 + - Optimizer has a Pass 0 that normalizes any残存の旧命令 → 統合命令(安全ネット)。 Status (2025-08-23) - Flags declared in `Cargo.toml` (off by default)