Files
ViperC/App/lib/core
TermiNexus 2ef6a55ead fix: Phase1 三个无 reset 的全量 parse 循环改每文件回收,解 mark1 前 OOM
NewAstTest 仍 1GB 主池耗尽:Phase1 1a 主循环已 reset,但此前还有
三处对全部 includes 全量 parse AST 且驻留到 mark1 的循环(可达 includes
数量多时 AST 累积超 1GB):
1. _ScanClassInheritance(类继承预扫描):每文件收集类名/父类/SHA1
   到扁平数组后 reset_to(文件级 mark) 回收 AST;
2. Phase 1a-pre import 依赖扫描:deps 写盘 + PopulateIncludesDeps
   (内部 stdlib 深拷贝)后 reset_to(文件级 mark);
3. 删除冗余的 Phase 1a-pre-generic(主 pool 全量 parse 可达泛型文件、
   无 reset)——已被 _PreRegisterAllGenericTemplates(文本扫描筛选 +
   perm_pool 注册,全覆盖)替代。

注:reset 只回收各文件的 AST/lexer/token/IR 等瞬时数据;注册表数据
(StructTable/Fields/Name/ModuleSha1/struct_ty 深拷贝/枚举/Renum/泛型
模板)已在前一轮迁入 perm_pool,不受 reset 影响。
2026-08-14 04:13:59 +08:00
..