chore(dbg): 函数翻译内段探针 p1/p2/p3

夹住 auto_addr → 形参注册/pre-scan → slife reset → 语句翻译 四段;TEMP,定位后移除。
This commit is contained in:
TermiNexus committed 2026-10-09 10:44:56 +08:00
1 parent 20e3f3694f
commit 9b97470c09
1 file changed
+4 -1
+4 -1
View File
@@ -386,6 +386,7 @@ novirtual class FuncGenDef(CallGenBase.CallGenBase):
# Record value-reference (&T / &temp T) parameter modes for call-site auto-address.
self._register_func_auto_addr_modes(trans, mangled_name, fd)
VLogger.info("TR.p1.auto_addr.done", "TR")
# Register the CExport function in the global table (for cross-module calls). t.CExport definitions use bare
# names (@strlen); cross-module calls consult the table to use the bare name instead of @{sha1}.func.
@@ -777,9 +778,11 @@ novirtual class FuncGenDef(CallGenBase.CallGenBase):
# 表是函数间共享的一段栈式区间,嵌套函数各自独立;退出时由 _SlifeRestore 弹回外层起点。
# 放在这里(而非更早)是因为上方存在多条提前返回分支(泛型模板/async/extern),
# 只有从这里开始才保证"有 reset 必有 restore"。
old_slife_base: int = self.Gen.VarGen._SlifeReset(pool)
old_slife_base: int = self.Gen.VarGen._SlifeReset(pool)
VLogger.info("TR.p2.slife_reset.done", "TR")
# Translate the function body
VLogger.info("TR.p3.body.begin", "TR")
if body is not None:
bn2: sizet = len(body)
for bi2 in range(bn2):