步骤E:文档收尾——基址寻址落地同步(编译器优化/寄存器码/用例对照/指令与映像/指令集清单/指令执行)

This commit is contained in:
2026-08-27 09:23:12 +08:00
parent 766e3a39b2
commit c53e84f180
6 changed files with 40 additions and 28 deletions
+3 -2
View File
@@ -36,8 +36,8 @@
### 3.1 FB 共享体(基址寻址)——消除内联膨胀
- **现状问题**:FB 每调用一次复制一份体,字节码膨胀
- **V2 定案**`LOAD/STORE rd, slot, off32`16B 长度组,SLOT+off 形态)即基址寻址——结构体字段与 FB 共享体字段**同一指令**(LOADF 已取消);FB 体编译**一次**,运行时按实例槽 + 编译期算死的字段偏移定位
- 收益:字节码不再随调用点膨胀;代价:每次字段访问多一个偏移操作数
- **V2 定案(已实施,2026-08-26 阶段5**:FB 编译为**独立共享函数**,调用点 `LOADK r1, c(实例地址)` + `CALL`;函数体内字段访问用 `LOAD_PTR/STORE_PTR rd, r1, off`16B RS+off 形态,寄存器基址 + 偏移)——同一实例可被多个调用点复用;字段偏移编译期算死
- 收益:字节码不再随调用点膨胀(多实例共享一份函数体);VAR_TEMP 落 FB 帧寄存器天然每调用重置;代价:每次字段访问多一个偏移操作数
### 3.2 类型驱动语义(type 位段红利)
@@ -103,4 +103,5 @@
- V1 定案(12.8):用户 FB 内联 / FUNCTION CALL / 内建 FB CAL_*;短路必须跳转;固定寄存器分配
- V2 讨论:用户确认 V1 内联现状;提出 V2 用基址寻址消除内联膨胀(已定案)
- V2 实施(2026-08-26):FB 共享体落地——LOAD_PTR/STORE_PTRRS+off+ FB 函数化(r1 实例指针),内联机制退役
- 类型扩展:19 IEC 基础类型(type:5);禁隐式转换 + 字面量适配;进制前缀定案