docs: update references after module splits
This commit is contained in:
@ -24,7 +24,7 @@ Related:
|
||||
- 入口: `docs/development/current/main/phases/phase-284/README.md`
|
||||
- P0(docs-only): `docs/development/current/main/phases/phase-284/P0-INSTRUCTIONS.md`
|
||||
- SSOT:
|
||||
- Composition: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- Composition: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- Terminator emission: `emit_frag()`(`src/mir/builder/control_flow/edgecfg/api/emit.rs`)
|
||||
- Frag docs: `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- 進め方:
|
||||
|
||||
@ -48,7 +48,7 @@ VM interpreter implements print/error/panic/exit dispatch in TWO locations:
|
||||
**Key Files**:
|
||||
- `src/mir/join_ir/lowering/normalized.rs` (1,269 lines)
|
||||
- `src/mir/join_ir/lowering/merge/mod.rs` (1,072 lines)
|
||||
- `src/runner/modes/common_util/resolve/strip.rs` (1,081 lines)
|
||||
- `src/runner/modes/common_util/resolve/strip/mod.rs` (1,081 lines)
|
||||
- `src/backend/boxes/file/handle_box.rs` (1,072 lines)
|
||||
|
||||
**Problem**:
|
||||
|
||||
@ -29,7 +29,7 @@ Related:
|
||||
|
||||
## Root Cause Analysis
|
||||
|
||||
`src/runner/mir_json_emit.rs` が "use-before-def copy 回避" を目的に **copy の遅延/再配置**を行っており、
|
||||
`src/runner/mir_json_emit/mod.rs` が "use-before-def copy 回避" を目的に **copy の遅延/再配置**を行っており、
|
||||
依存(copy dst を参照する binop 等)まで含めた正しいスケジューリングになっていなかった。
|
||||
|
||||
この層(JSON emitter)は optimizer/scheduler ではないため、順序修正を試みるより **Fail-Fast で upstream を炙り出す**のが筋。
|
||||
@ -174,7 +174,7 @@ fn check_use_before_def(block: &BasicBlock) -> Result<(), String> {
|
||||
|
||||
## Files Modified
|
||||
|
||||
- `src/runner/mir_json_emit.rs`: Core fix (removed ~80 lines of reordering logic)
|
||||
- `src/runner/mir_json_emit/mod.rs`: Core fix (removed ~80 lines of reordering logic)
|
||||
|
||||
## Box Theory Insights
|
||||
|
||||
@ -186,4 +186,3 @@ fn check_use_before_def(block: &BasicBlock) -> Result<(), String> {
|
||||
- **Upstream** (builder.rs): Responsible for def-use order
|
||||
- **Emitter** (mir_json_emit.rs): Responsible for faithful output
|
||||
- **Downstream** (LLVM harness): Expects correct order from JSON
|
||||
|
||||
|
||||
@ -825,7 +825,7 @@ Pattern6/7 は **Plan line(Extractor → Normalizer → Verifier → Lowerer
|
||||
- ファイル:
|
||||
- `src/mir/join_ir/lowering/loop_body_local_env.rs`
|
||||
- `src/mir/join_ir/lowering/update_env.rs`
|
||||
- `src/mir/join_ir/lowering/carrier_update_emitter.rs`
|
||||
- `src/mir/join_ir/lowering/carrier_update_emitter/mod.rs`
|
||||
- `src/mir/join_ir/lowering/loop_with_break_minimal.rs`(Phase 191統合)
|
||||
- 責務:
|
||||
- **LoopBodyLocalEnv**: ループ本体で宣言された body-local 変数の名前→ValueId マッピングを管理(箱化設計)。
|
||||
@ -892,14 +892,14 @@ Pattern6/7 は **Plan line(Extractor → Normalizer → Verifier → Lowerer
|
||||
- ファイル:
|
||||
- `src/mir/join_ir/lowering/carrier_info.rs`
|
||||
- `src/mir/join_ir/lowering/loop_update_analyzer.rs`
|
||||
- `src/mir/join_ir/lowering/carrier_update_emitter.rs`
|
||||
- `src/mir/join_ir/lowering/carrier_update_emitter/mod.rs`
|
||||
- 責務:
|
||||
- ループで更新される変数(carrier)を検出し、UpdateExpr を保持。
|
||||
- Pattern 4 では実際に更新されるキャリアだけを残す。
|
||||
- **Phase 188 完了** ✅: String 更新(StringAppendChar/StringAppendLiteral)を UpdateRhs ベースのホワイトリストで受理し、JoinIR BinOp を emit。
|
||||
- 許可: `UpdateRhs::Const`, `UpdateRhs::Variable`, `UpdateRhs::StringLiteral`
|
||||
- 拒否: `UpdateRhs::Other`(method call / nested BinOp 等の複雑パターンのみ)
|
||||
- Pattern2/4 の can_lower() で選別、carrier_update_emitter.rs で JoinIR 生成
|
||||
- Pattern2/4 の can_lower() で選別、carrier_update_emitter で JoinIR 生成
|
||||
- 現状制約(重要 / PoC の前提):
|
||||
- Pattern2 の「出口で値が持ち帰られる変数」は、基本的に **carrier として認識されたもの**のみが `exit_bindings` 経由で再接続される。
|
||||
- 現状の carrier 認識は “mutable-acc” 形(例: `result = result + rhs`)を中心に成立しており、`result = 42` のような **direct assignment** は carrier として扱われないケースがある。
|
||||
|
||||
@ -81,7 +81,7 @@ Phase 230 では「コードをいじらずに把握だけする」のが目的
|
||||
|
||||
---
|
||||
|
||||
## 5. carrier_update_emitter.rs(CarrierUpdateEmitter)
|
||||
## 5. carrier_update_emitter(CarrierUpdateEmitter)
|
||||
|
||||
- 役割:
|
||||
- LoopUpdateAnalyzer で分類された UpdateExpr(`sum = sum + digit` など)を JoinIR 命令列に変換する。
|
||||
|
||||
@ -96,7 +96,7 @@ Used by (10 files):
|
||||
│ (827 lines) │ │ Emitter │ │ Builder │
|
||||
│ │ │ (956 lines) │ │ (493 lines) │
|
||||
└───────────────┘ └──────────────┘ └──────────────────┘
|
||||
carrier_info.rs carrier_update_emitter.rs inline_boundary_builder.rs
|
||||
carrier_info.rs carrier_update_emitter inline_boundary_builder.rs
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
@ -123,7 +123,7 @@ Phase 227-228 Infrastructure:
|
||||
Used by (7 files):
|
||||
- inline_boundary.rs
|
||||
- inline_boundary_builder.rs
|
||||
- carrier_update_emitter.rs
|
||||
- carrier_update_emitter
|
||||
- loop_update_analyzer.rs
|
||||
- loop_with_break_minimal.rs
|
||||
- loop_with_continue_minimal.rs
|
||||
@ -204,7 +204,7 @@ loop_with_break_minimal.rs (868 lines)
|
||||
│
|
||||
├─▶ condition_lowerer.rs (condition lowering)
|
||||
├─▶ carrier_info.rs (carrier management)
|
||||
├─▶ carrier_update_emitter.rs (update emission)
|
||||
├─▶ carrier_update_emitter (update emission)
|
||||
├─▶ inline_boundary.rs (exit bindings)
|
||||
├─▶ inline_boundary_builder.rs (boundary construction)
|
||||
├─▶ join_value_space.rs (ValueId allocation)
|
||||
@ -286,7 +286,7 @@ join_value_space.rs (431 lines)
|
||||
├─▶ Pattern 4 (loop_with_continue_minimal.rs)
|
||||
├─▶ condition_lowerer.rs
|
||||
├─▶ expr_lowerer.rs
|
||||
└─▶ carrier_update_emitter.rs
|
||||
└─▶ carrier_update_emitter
|
||||
|
||||
API:
|
||||
- alloc_local() -> ValueId
|
||||
@ -487,7 +487,7 @@ Replaces 5 modules with unified API:
|
||||
CarrierManagerBox (NEW)
|
||||
│
|
||||
├─▶ carrier_info.rs (existing)
|
||||
├─▶ carrier_update_emitter.rs (existing)
|
||||
├─▶ carrier_update_emitter (existing)
|
||||
├─▶ inline_boundary.rs (existing)
|
||||
└─▶ scope_manager.rs (existing, Phase 231)
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ src/mir/join_ir/lowering/
|
||||
### Large Files (>500 lines)
|
||||
| File | Lines | Purpose |
|
||||
|------|-------|---------|
|
||||
| `carrier_update_emitter.rs` | 956 | Carrier update instruction emission |
|
||||
| `carrier_update_emitter` | 956 | Carrier update instruction emission |
|
||||
| `loop_with_break_minimal.rs` | 868 | Pattern 2 implementation |
|
||||
| `carrier_info.rs` | 827 | Carrier metadata structures |
|
||||
| `expr_lowerer.rs` | 796 | Expression lowering (Phase 231) |
|
||||
@ -90,7 +90,7 @@ Files matching `lower.*condition|extract.*condition`:
|
||||
### 2.2 Variable/Carrier Processing (13 files)
|
||||
Files matching `variable_map|carrier_info`:
|
||||
- `carrier_info.rs` (827 lines) - Metadata structures
|
||||
- `carrier_update_emitter.rs` (956 lines) - Update emission
|
||||
- `carrier_update_emitter` (956 lines) - Update emission
|
||||
- `inline_boundary.rs` (576 lines) - Boundary management
|
||||
- `inline_boundary_builder.rs` (493 lines) - Builder pattern
|
||||
- `scope_manager.rs` (354 lines) - Unified lookup (Phase 231)
|
||||
@ -402,7 +402,7 @@ src/mir/join_ir/lowering/
|
||||
2. **carrier_info.rs** (used by 7 files)
|
||||
- `inline_boundary.rs`
|
||||
- `inline_boundary_builder.rs`
|
||||
- `carrier_update_emitter.rs`
|
||||
- `carrier_update_emitter`
|
||||
- `loop_update_analyzer.rs`
|
||||
- All pattern implementations
|
||||
|
||||
@ -530,7 +530,7 @@ impl ComplexConditionLowerer {
|
||||
|
||||
**Files to Extend**:
|
||||
- `carrier_info.rs` (827 lines) - Already has CarrierRole/CarrierInit
|
||||
- `carrier_update_emitter.rs` (956 lines) - Update emission logic
|
||||
- `carrier_update_emitter` (956 lines) - Update emission logic
|
||||
- `inline_boundary.rs` (576 lines) - Exit binding generation
|
||||
|
||||
**Implementation Sketch**:
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
- **Impact**: 7 files affected
|
||||
- **Effort**: Low (extends Phase 228)
|
||||
- **Value**: Medium (consolidates lifecycle)
|
||||
- **Files**: carrier_info.rs, carrier_update_emitter.rs, inline_boundary.rs
|
||||
- **Files**: carrier_info.rs, carrier_update_emitter, inline_boundary.rs
|
||||
- **Next**: Phase 245
|
||||
|
||||
### 3. Module Reorganization (⭐⭐)
|
||||
|
||||
@ -138,9 +138,9 @@ if matches!(operator, BinaryOperator::Add | BinaryOperator::Subtract) {
|
||||
|
||||
✅ **Exactly matches our pattern: `result = result * 10 + digit_pos`**
|
||||
|
||||
### 3.3 Emission Logic (carrier_update_emitter.rs)
|
||||
### 3.3 Emission Logic (carrier_update_emitter)
|
||||
|
||||
**Location**: `/home/tomoaki/git/hakorune-selfhost/src/mir/join_ir/lowering/carrier_update_emitter.rs` (lines 139-170)
|
||||
**Location**: `/home/tomoaki/git/hakorune-selfhost/src/mir/join_ir/lowering/carrier_update_emitter/mod.rs` (lines 139-170)
|
||||
|
||||
```rust
|
||||
UpdateRhs::NumberAccumulation { base, digit_var } => {
|
||||
@ -183,7 +183,7 @@ UpdateRhs::NumberAccumulation { base, digit_var } => {
|
||||
- ✅ `test_analyze_number_accumulation_base2()` - binary pattern
|
||||
- ✅ `test_analyze_number_accumulation_wrong_lhs()` - validation
|
||||
|
||||
**Existing tests** (carrier_update_emitter.rs):
|
||||
**Existing tests** (carrier_update_emitter):
|
||||
- ✅ `test_emit_number_accumulation_base10()` - JoinIR emission
|
||||
- ✅ `test_emit_number_accumulation_digit_not_found()` - error handling
|
||||
|
||||
@ -375,7 +375,7 @@ jq '.functions[] | select(.name == "_atoi") | .blocks' mir.json
|
||||
|
||||
### Phase 190: NumberAccumulation Infrastructure
|
||||
- Detection: `/src/mir/join_ir/lowering/loop_update_analyzer.rs` (lines 157-192)
|
||||
- Emission: `/src/mir/join_ir/lowering/carrier_update_emitter.rs` (lines 139-170)
|
||||
- Emission: `/src/mir/join_ir/lowering/carrier_update_emitter/mod.rs` (lines 139-170)
|
||||
- Tests: Both files contain comprehensive unit tests
|
||||
|
||||
### Phase 184: UpdateEnv and LoopBodyLocal
|
||||
|
||||
@ -535,7 +535,7 @@ Usage: ConditionEnv → is_digit_pos
|
||||
- **CarrierInfo**: `src/mir/join_ir/lowering/carrier_info.rs`
|
||||
- **ConditionEnv**: `src/mir/join_ir/lowering/condition_env.rs`
|
||||
- **UpdateEnv**: `src/mir/join_ir/lowering/update_env.rs`
|
||||
- **CarrierUpdateEmitter**: `src/mir/join_ir/lowering/carrier_update_emitter.rs`
|
||||
- **CarrierUpdateEmitter**: `src/mir/join_ir/lowering/carrier_update_emitter/mod.rs`
|
||||
- **LoopUpdateAnalyzer**: `src/mir/join_ir/lowering/loop_update_analyzer.rs`
|
||||
|
||||
### 10.3 テストファイル
|
||||
|
||||
@ -190,7 +190,7 @@ pub struct LoopShape {
|
||||
|
||||
**Nesting information exists ONLY in StepTree** (AST level):
|
||||
```rust
|
||||
// src/mir/control_tree/step_tree.rs (line 17-25)
|
||||
// src/mir/control_tree/step_tree/mod.rs (line 17-25)
|
||||
pub struct StepTreeFeatures {
|
||||
pub max_loop_depth: u32, // ← Detected during AST → StepTree conversion
|
||||
// ...
|
||||
|
||||
@ -122,7 +122,7 @@ Still deferred to Phase 188.3+:
|
||||
|
||||
- **Phase 188.1 Reality**: `docs/development/current/main/phases/phase-188.1/README.md` § Implementation Reality
|
||||
- **LoopRegion Definition**: `src/mir/control_form.rs` (lines 40-62)
|
||||
- **StepTreeFeatures Definition**: `src/mir/control_tree/step_tree.rs` (lines 17-25)
|
||||
- **StepTreeFeatures Definition**: `src/mir/control_tree/step_tree/mod.rs` (lines 17-25)
|
||||
- **LoopForm/LoopShape Definition**: `src/mir/loop_form.rs`, `src/mir/control_form.rs`
|
||||
|
||||
---
|
||||
|
||||
@ -16,7 +16,7 @@ SSOT (design): `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- `if_` は `join_frag: Frag` を受け取り、Normal が「join 以降」を表すようにする
|
||||
|
||||
## 主要ファイル
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/frag.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/edge_stub.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/verify.rs`
|
||||
|
||||
@ -15,7 +15,7 @@ SSOT (design): `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- `wires` は Jump/Return 専用のまま維持
|
||||
- `src/mir/builder/control_flow/edgecfg/api/frag.rs`
|
||||
- `compose::if_` が header→then/else の `BranchStub` を生成するように更新
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- `emit_frag(function, frag)` を追加(SSOT)
|
||||
- `verify_frag_invariants_strict()` を最初に実行
|
||||
- `wires` は `emit_wires()` を内部利用
|
||||
|
||||
@ -110,7 +110,7 @@ The LLVM harness consumes MIR JSON emitted by the Rust runner.
|
||||
If `TypeOp` is missing in that JSON, the harness will never see it (and the JSON can become invalid due to missing defs).
|
||||
|
||||
Checklist:
|
||||
- `src/runner/mir_json_emit.rs` must emit `{"op":"typeop", ...}` in **both** emitters:
|
||||
- `src/runner/mir_json_emit/mod.rs` must emit `{"op":"typeop", ...}` in **both** emitters:
|
||||
- `emit_mir_json_for_harness` (nyash_rust::mir) ✅ already supports TypeOp
|
||||
- `emit_mir_json_for_harness_bin` (crate::mir) ⚠️ ensure TypeOp is included
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ Status: ✅ done (2025-12-22)
|
||||
Artifacts:
|
||||
- Kernel type check helper: `crates/nyash_kernel/src/lib.rs` (`nyash.any.is_type_h`)
|
||||
- LLVM TypeOp lowering: `src/llvm_py/instructions/typeop.py`
|
||||
- MIR JSON emission fix (bin): `src/runner/mir_json_emit.rs` (emit `op:"typeop"`)
|
||||
- MIR JSON emission fix (bin): `src/runner/mir_json_emit/mod.rs` (emit `op:"typeop"`)
|
||||
- Fixture (LLVM-safe): `apps/tests/phase274_p2_typeop_primitives_only.hako`
|
||||
- Smoke (LLVM): `tools/smokes/v2/profiles/integration/apps/phase274_p2_typeop_is_as_llvm.sh`
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
|
||||
#### B1: Document compose.rs Entry Points
|
||||
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
|
||||
**Changes Required**:
|
||||
1. Add module-level documentation explaining:
|
||||
@ -143,7 +143,7 @@
|
||||
|
||||
#### B2: Verify Composition API Implements Contract
|
||||
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
|
||||
**Action**: Documentation-only verification (checklist)
|
||||
|
||||
@ -173,7 +173,7 @@
|
||||
|
||||
#### B3: Add Tests for Composition Invariants
|
||||
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose.rs` (test module)
|
||||
**File**: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs` (test module)
|
||||
|
||||
**Action**: Gap analysis + add tests if needed
|
||||
|
||||
@ -391,7 +391,7 @@ tools/smokes/v2/run.sh --profile quick
|
||||
|
||||
### Phase B (Code: API)
|
||||
|
||||
4. `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
4. `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
|
||||
### Phase C (Code: Pattern Prep - Documentation-only)
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ Goal:
|
||||
## SSOT References
|
||||
|
||||
- Frag/emit SSOT: `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- Composition SSOT: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- Composition SSOT: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- Plan line SSOT(Pattern6/7): `docs/development/current/main/phases/phase-273/README.md`
|
||||
- Phase 280(positioning): `docs/development/current/main/phases/phase-280/README.md`
|
||||
|
||||
@ -170,4 +170,3 @@ cleanup(Normal) を追加し、normalize_scan_with_init() の step back-edge を
|
||||
- 新しい env var の追加はしない
|
||||
- by-name hardcode での一時しのぎはしない
|
||||
- `emit_frag()` 以外で terminator を生成しない
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ Goal:
|
||||
## SSOT References
|
||||
|
||||
- Frag/emit SSOT: `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- Composition SSOT: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- Composition SSOT: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- JoinIR overview: `docs/development/current/main/joinir-architecture-overview.md`
|
||||
- Plan line(Pattern6/7): `docs/development/current/main/phases/phase-273/README.md`
|
||||
- Composition adoption(Pattern6/7): `docs/development/current/main/phases/phase-281/README.md`
|
||||
@ -95,7 +95,7 @@ CFG構築は以下に収束させる:
|
||||
- lower() は必ず re-extract して SSOT 強制(二重検証)
|
||||
|
||||
**SSOT 参照**:
|
||||
- Frag composition: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- Frag composition: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- Plan line: `src/mir/builder/control_flow/plan/normalizer.rs`
|
||||
- Terminator 生成: `emit_frag()` (Phase 267)
|
||||
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
|
||||
- `docs/development/current/main/phases/phase-284/README.md`
|
||||
- `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/emit.rs`
|
||||
- `docs/development/current/main/phases/phase-282/README.md`
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Status: P1 Complete (2025-12-23)
|
||||
## SSOT References
|
||||
|
||||
- Frag/ExitKind 設計: `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
- Composition API: `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- Composition API: `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- Terminator emission: `src/mir/builder/control_flow/edgecfg/api/emit.rs`(`emit_frag()`)
|
||||
- Router SSOT(SSOT=extract / safety valve): `docs/development/current/main/phases/phase-282/README.md`
|
||||
|
||||
@ -53,7 +53,7 @@ Phase 284 の完了条件は「`return` を含むケースが close-but-unsuppor
|
||||
- 入口: `src/mir/builder/control_flow/joinir/patterns/router.rs`(route=plan)
|
||||
- SSOT:
|
||||
- `src/mir/builder/control_flow/plan/normalizer.rs`(Frag 構築: branches/wires/exits)
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose.rs`(合成 SSOT)
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`(合成 SSOT)
|
||||
- `src/mir/builder/control_flow/edgecfg/api/emit.rs`(`emit_frag()` terminator SSOT)
|
||||
- ここでは `return` を **Return edge(ExitKind::Return)**として組み立てるのが自然。
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ Phase 286 では JoinIR line を “第2の lowerer” として放置せず、*
|
||||
- `src/mir/builder/control_flow/joinir/merge/mod.rs`
|
||||
- Plan/Frag SSOT(収束先):
|
||||
- `src/mir/builder/control_flow/plan/*`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/compose/mod.rs`
|
||||
- `src/mir/builder/control_flow/edgecfg/api/emit.rs`
|
||||
|
||||
## Scope(提案)
|
||||
|
||||
@ -471,7 +471,7 @@ rg 'impl.*LogApi' --type rust
|
||||
### Phase 90: Ring0 API Migration (12 locations)
|
||||
|
||||
**Phase 90-A: fs API (7 locations)**:
|
||||
- `src/runner/modes/common_util/resolve/strip.rs`: 4 locations
|
||||
- `src/runner/modes/common_util/resolve/strip/mod.rs`: 4 locations
|
||||
- `src/runner/dispatch.rs`: 1 location
|
||||
- `src/runner/mod.rs`: 3 locations
|
||||
- Migration: `std::fs::read_to_string` → `ring0.fs.read_to_string`
|
||||
@ -649,4 +649,3 @@ Phase 11x 以降で検討する予定だよ。Phase 112 で factory pattern に
|
||||
- docs/development/current/main/phase114_fileio_trait_extension.md (新規)
|
||||
- docs/development/current/main/core_boxes_design.md (Phase 114 セクション追加)
|
||||
- docs/development/current/main/ring0-inventory.md (this file)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user