Skip to content

feat: PC/帧寻址改三维 [d]/[i,j],if/while 摊成函数内 goto/br,调用帧扁平编号(#116) - #222

Merged
miaobyte merged 3 commits into
array2d:masterfrom
carsontung666:feat/flat-goto
Sep 4, 2026
Merged

miaobyte merged 3 commits into
array2d:masterfrom
carsontung666:feat/flat-goto

Conversation

@carsontung666

@carsontung666 carsontung666 commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

#116

if/while/for 不再建 scope 帧:layout 摊成一条平坦指令序列,label 折成 int64 行号,goto/br 只改 PC 的 [irseq]
调用帧改 /vthread/<vtid>/[d]/[i,j],d 是调用深度,PC 长度和深度无关。

@carsontung666
carsontung666 force-pushed the feat/flat-goto branch 2 times, most recently from b889969 to d0b235f Compare September 4, 2026 15:53
…FrameRoot

字符串变量传两层调用变 None:hop 循环把 char 值当路径追,改成只追 ref==1。加 02-func/string_passthrough。
goto/br 目标不是 int64、帧没 ‥returnpc、走到空槽,原来 abort,改成置 vthread error。
FuncFrameRoot 在 [d] 帧下就是 strdup,删;layout 的 frame_at/frame_num/irseq_pc 只有测试用,删。
@carsontung666 carsontung666 changed the title feat: PC/帧寻址改三维 [d]/[i,j]——if/while 摊平成函数内 goto/br,调用帧扁平编号,PC 长度 O(D)→O(1)(#116) feat: PC/帧寻址改三维 [d]/[i,j],if/while 摊成函数内 goto/br,调用帧扁平编号(#116) Sep 4, 2026
@miaobyte
miaobyte merged commit 19c7561 into array2d:master Sep 4, 2026
1 check passed
@miaobyte

miaobyte commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

感谢 @carsontung666 的实现与 @AmuroEita 的工作 🙏 —— #116 的 flat [d] 帧寻址 + 函数内 goto/br 已合并,PC 长度与调用深度解耦。CI 全绿。后续若愿继续参与(性能回归、vthread 适配等)欢迎随时提 PR。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants