feat(sidecar): meta 增写 STRUCT/VTABLE,REPL 布局恢复改读 meta
- WriteModuleFuncMeta 更名 WriteModuleMeta:追加 STRUCT <name> FIELDS n PACKED 0|1
(opaque → STRUCT <name> OPAQUE)与 VTABLE <class> SLOTS n;数据源改为
Module.NamedTypeHead / GlobalHead,不再有任何 IR 文本反推
- VpiReader REPL 布局改读 {sha1}.meta:新增 _meta_atoi / _repl_meta_scan_layout
按前缀精确匹配解析 STRUCT/VTABLE 行
- 删除旧 .stub.ll 文本解析辅助 _repl_stub_take_name / _repl_stub_body_count
及其 scratch 缓冲 ReplStubNameBuf / _REPL_STUB_NAME_CAP
去 IR 化步骤③;未编译验证。
This commit is contained in:
1 parent
78d3941f7d
commit
35f2070d3b
4 files changed
+123
-169
No files matched your search
@@ -1140,8 +1140,8 @@ def RunPhase1(mb: memhub.MemBuddy*, includes_dir: str, temp_dir: str,
|
||||
stdlib.free(text_path_p1)
|
||||
stdlib.free(text_buf)
|
||||
|
||||
# save {sha1}.meta(结构化 sidecar:函数定义清单,替代从 text.ll 反推 declare-vs-define)
|
||||
StubMergerIR.WriteModuleFuncMeta(tr.Module, temp_dir, dir_len_p1, sha1)
|
||||
# save {sha1}.meta(结构化 sidecar:函数清单/结构体布局/虚表,替代从 IR 文本反推)
|
||||
StubMergerIR.WriteModuleMeta(tr.Module, temp_dir, dir_len_p1, sha1)
|
||||
|
||||
# 计时点 3:dump(stub+text)完成;输出单文件三段耗时
|
||||
t_f3: uint64 = w32.win32base.GetTickCount64()
|
||||
|
||||
@@ -1085,8 +1085,8 @@ def RunMultiFileProject(mb: memhub.MemBuddy*,
|
||||
stdlib.free(text_path_a)
|
||||
stdlib.free(text_buf_a)
|
||||
|
||||
# save {sha1}.meta(结构化 sidecar:函数定义清单)
|
||||
StubMergerIR.WriteModuleFuncMeta(tr_a.Module, temp_dir, td_len_pa, ent.Sha1)
|
||||
# save {sha1}.meta(结构化 sidecar:函数清单/结构体布局/虚表)
|
||||
StubMergerIR.WriteModuleMeta(tr_a.Module, temp_dir, td_len_pa, ent.Sha1)
|
||||
|
||||
# save dependencies (_imported_modules) for Phase B (切片路径)
|
||||
deps_path_a: str = StubMergerCollect._sliced_path(temp_dir, td_len_pa, ent.Sha1, "deps.txt")
|
||||
@@ -1476,8 +1476,8 @@ def RunMultiFileProject(mb: memhub.MemBuddy*,
|
||||
itf.close()
|
||||
stdlib.free(inc_text_path)
|
||||
stdlib.free(inc_text_buf)
|
||||
# save {sha1}.meta(结构化 sidecar:函数定义清单)
|
||||
StubMergerIR.WriteModuleFuncMeta(tr_mi.Module, temp_dir, td_len_mi, inc_sha1_mi)
|
||||
# save {sha1}.meta(结构化 sidecar:函数清单/结构体布局/虚表)
|
||||
StubMergerIR.WriteModuleMeta(tr_mi.Module, temp_dir, td_len_mi, inc_sha1_mi)
|
||||
# 重试 BuildCombinedIR
|
||||
inc_combined_len_mi = StubMergerBuild.BuildCombinedIR(temp_dir, inc_sha1_mi, inc_combined_mi, COMBINED_IR_SIZE)
|
||||
# OOM 清理:stub/text 已写盘,回收本 includes 文件翻译瞬时数据
|
||||
|
||||
Reference in new issue
Block a user