Files
ViperC/App
TermiNexus 1dd53ebff5 feat(gen): M3 owned slife 登记机制(函数级 scope guard 的底座)
登记本函数内由 new heap/memgr slife 直接绑定的变量 alloca,提供 Reset/Register/Owned/MarkAliased/EmitFrees/ReleaseOld 六个 API,供出口插桩与覆盖释放使用。

为什么是函数级而非块级(已核实):Stmt 层(if/while/for/with)不调用 enter_scope/exit_scope,局部存储一律入口块 alloca(函数级寿命)——块级释放会让"块之后仍可达的变量"变悬垂。别名(q = p)在覆盖释放时保守跳过(宁可泄漏不悬垂),函数出口释放不受别名影响。

本提交仅机制,尚未接线(无行为变化);下一步接 4 处钩子:函数入口/收尾、translate_return 的 3 个 build_ret、赋值处的登记与覆盖释放、以及 §4.3 手动 free 判据。
2026-10-08 18:41:52 +08:00
..