TermiNexus
ce612c8e57
perf(lookup): 恢复名字索引可信未命中即确无的短路(Ty 索引保持停用)
4ed7f39 因 Ty 索引不等价,把名字索引的未命中短路一并回退了,导致 find_struct(8.25M)/lookup_ctypedef(5.64M) 等又回到全表扫描。
经逐处自证不变量后仅恢复名字键索引:名字或键只在注册时写入一次(中和仅置空名,空名查询显式回退扫描);索引在所有写入路径同步维护,判据 Built==Count 失败即失效回退;探测用 live 键且同键条目沿链按注册顺序排列(无空槽夹层)⇒ 可信未命中即原线性扫描亦无所获,短路逐字节等价。
恢复点:StructGenMixin.find_struct、TypeGenCType.lookup_ctypedef、CallGenLeafKit.find_func_in_table/find_func_entry_global、TypeGenCDef.lookup_cdefine_{constant,double,string}、VpiReader._lookup_vpi_param_annots/_lookup_vpi_ret_annot(后者保留泛型特化归一化兜底)。
find_struct_by_type 的 Ty 索引判定保持停用(事故根因);首字符预筛、Function.NameLen/FUNC_SIZE、includes 均未改动。
2026-09-14 12:59:27 +08:00
..
2026-09-14 08:26:18 +08:00
2026-09-13 21:11:33 +08:00
2026-09-12 12:59:01 +08:00
2026-09-12 11:09:35 +08:00
2026-09-13 21:11:33 +08:00
2026-09-12 12:59:01 +08:00
2026-09-14 12:59:27 +08:00
2026-09-14 08:26:18 +08:00
2026-09-12 23:14:23 +08:00
2026-09-13 21:11:33 +08:00
2026-09-12 11:09:35 +08:00
2026-09-12 11:09:35 +08:00