📚 Phase 11 documentation: Everything is Box × MIR15 revolution

Key updates:
- Document MIR 26→15 instruction reduction plan (transitioning status)
- Add Core-15 target instruction set in INSTRUCTION_SET.md
- Save AI conference analyses validating Box Theory and 15-instruction design
- Create MIR annotation system proposal for optimization hints
- Update SKIP_PHASE_10_DECISION.md with LLVM direct migration rationale

Technical insights:
- RefNew/RefGet/RefSet can be eliminated through Box unification
- GC/sync/async all achievable with 15 core instructions
- BoxCall lowering can automatically insert GC barriers
- 2-3x performance improvement expected with LLVM
- Build time reduction 50%, binary size reduction 40%

Status: Design complete, implementation pending
This commit is contained in:
Moe Charm
2025-08-31 03:03:04 +09:00
parent 1812cda7d5
commit b003bdf25b
50 changed files with 2621 additions and 136 deletions

View File

@ -505,3 +505,15 @@ NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_STATS=1 \
- 分岐条件はb1化i64の場合は !=0 で正規化)
- 直線if/elseでのreturnをJITで実行副作用は未対応のためVMへ
- PHIは将来の`NYASH_JIT_PHI_MIN=1`で最小導入予定
#### 予約シンボルRuntime/GC 橋渡し)
- `nyash.rt.checkpoint`(セーフポイント)
- JIT: no-op スタブを登録済み(将来のスケジューラ/GC連携用
- AOT: `nyrt` が同名シンボルをエクスポート(`#[export_name]`)。リンク済み
- トレース: `NYASH_RUNTIME_CHECKPOINT_TRACE=1` でstderrに到達ログ
- `nyash.gc.barrier_write`(書き込みバリア)
- JIT: no-op スタブを登録済み将来のインクリメンタルGC向けフック
- AOT: `nyrt` が同名シンボルをエクスポート(`#[export_name]`
- トレース: `NYASH_GC_BARRIER_TRACE=1` でstderrに到達ログ
メモ: 現時点では両シンボルとも副作用なしno-op。MIR側では `Safepoint``ExternCall(env.runtime.checkpoint)` へ段階移行中です。