TermiNexus
64502471e1
feat(gen): M2.4 new 描述符语义落地(stack/heap/memgr 三来源)
CallGenCtor 新增 _translate_new_expr:只替换取存储一步——stack 用帧内 alloca、heap 用 malloc(sizeof)+bitcast、memgr(x) 用 x.alloc(sizeof)+bitcast;其余构造序列(__before_init__ → __init__ / 字段赋值)用合成 Call 复用原路径,因此 __init__ 的逃逸检查对 new 同样生效;结果恒为 T*。
文件级 _g_new_storage 承接描述符算出的存储,两个 ctor 入口的默认 alloca 改为有则复用;_translate_new_expr 前后保存/恢复,支持嵌套 new。
§2.4:stack+hlife 语义矛盾 fail-fast;memgr(x) 拿不到管理器类 fail-fast。ExprGenMixin 分派 ASTKind.New。
2026-10-08 17:45:39 +08:00
..
2026-10-07 19:03:16 +08:00
2026-10-08 12:10:13 +08:00
2026-10-07 15:16:52 +08:00
2026-10-05 17:38:28 +08:00
2026-10-07 00:03:58 +08:00
2026-10-07 00:03:58 +08:00
2026-10-08 17:45:39 +08:00
2026-10-07 19:10:05 +08:00
2026-10-07 15:16:52 +08:00