From 9b97470c09a45ed1324e3c7519b44c496eb112a3 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 9 Oct 2026 10:44:56 +0800 Subject: [PATCH] =?UTF-8?q?chore(dbg):=20=E5=87=BD=E6=95=B0=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E5=86=85=E6=AE=B5=E6=8E=A2=E9=92=88=20p1/p2/p3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 夹住 auto_addr → 形参注册/pre-scan → slife reset → 语句翻译 四段;TEMP,定位后移除。 --- App/lib/core/Gen/Func/FuncGenDef.vp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/App/lib/core/Gen/Func/FuncGenDef.vp b/App/lib/core/Gen/Func/FuncGenDef.vp index 6e6a3bb..3fe8d4b 100644 --- a/App/lib/core/Gen/Func/FuncGenDef.vp +++ b/App/lib/core/Gen/Func/FuncGenDef.vp @@ -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):