TermiNexus
|
76d1ee6076
|
fix(compiler,peephole): TPC 属性链解析与窥孔输出瘦身
- TPC(lib/core): 任意级属性链按链前向类解析恢复 stub 退化字段; cast 局部 rowptr[X] 登记回填; 通用指针槽按静态类名 bitcast 兜底; 赋值 RHS 求值失败 fail-fast 防未初始化变量; 报错行按源码文本锚定并附 ATTR-DIAG 现场
- 窥孔(includes/llvmlite/__function.vp): 成员访问单级链模式; 窥孔移至 Renumber 前使 SSA 编号连续; T3 no-op bitcast 消除; 替换缓冲按最坏上界分配
- __builder/__module/string.vp 配套; 清理 Test 构建产物与 PROF 杂项
|
2026-09-08 11:02:37 +08:00 |
|
TermiNexus
|
45e78ad107
|
基线重置,修复了一些 bug
|
2026-09-07 14:46:02 +08:00 |
|
TermiNexus
|
c3a43dfe76
|
refactor(includes): 标准库 extern 软关键字语法迁移 + _append_cstr O(1) 追加缓存
- posix/stdio 等 19 文件: def ... -> T|t.State: pass 改写为 extern def ... -> T
- llvmlite/__builder.vp: _append_cstr 加写入位置缓存(_g_last_dst/_g_last_pos,缓冲切换/重置自动回退 strlen,防 O(n^2))
|
2026-08-24 23:31:12 +08:00 |
|
TermiNexus
|
6b9186848b
|
fix(llvmlite): _type_str 增加 IR-FAIL 校验护栏,防 LLVMType 悬空生成垃圾 IR
LLVMType 类型对象可能被 MemBuddy 覆盖/悬空(跨遍 reset 回收后 pool 内存复用),TypePrint 输出首字符变为垃圾(如 't')或为空。现在 _type_str 对输出做首字符合法性校验,非法即打印 [IR-FAIL] + 类型地址并 exit(1)(fail-fast),防止生成 bitcast i8* null t 类垃圾 IR 导致 llc 报 expected 'to' after cast value 后难以定位根因。
|
2026-08-17 20:13:13 +08:00 |
|
TermiNexus
|
2b074dfb48
|
fix(llvmlite): Struct name 参数默认 None;移除 GEP 降级 printf
Struct() 的 name 参数改为可选(默认 None),简化无名字段结构体构造;IRBuilder 的 GEP 遇非指针 base 直接返回 None,不再打印降级日志(噪音)。
|
2026-08-15 06:24:17 +08:00 |
|
TermiNexus
|
d2d319eb21
|
fix(includes): ASan 集成支持 + 越界写封堵 + TypePrint 类型名截断 40→255
1. Phase2Translator 增加 TPC_ASAN 支持(opt asan 插桩+链接 -fsanitize=address),配合 clang64 定位 0xbe 崩溃。2. llvmlite/memhub/viperio/viperlib 多处理无界 strcpy/strcat/下溢/递归守卫/栈数组钳制。3. memhub alloc 块尾 canary(MEMBUDDY_CANARY)+check_alive_blocks 校验+chk_stack realloc 扩容。4. TypePrint Ptr(Struct) 类型名截断上限 40→255:含 sha1 前缀类型名(如 bbdf3bbd4c3bc28c.CONSOLE_SCREEN_BUFFER_INFO=42)被截断产生未定义类型引用(llc undefined type)。
|
2026-08-10 18:09:13 +08:00 |
|
TermiNexus
|
fc93a28ec6
|
refactor(llvmlite): P0 对象化 - IRBuilder/LLVMModule 方法化(70 方法+一行委托兼容)
- IRBuilder 新增 62 个实例方法(load/store/gep/call/binop/cast 等), 顶层函数保留为一行委托, 调用方零改动
- LLVMModule 新增 8 个实例方法(add_function/add_global/add_named_type/PrintModule 等)
- 类字段/硬编码 SIZE/逻辑/IR 输出零变化, GetDiagnostics 无错误
- 新增 wiki/14-oo-refactor.md 对象化重构方案(P0-P6)
|
2026-08-09 22:54:01 +08:00 |
|
TermiNexus
|
a6444a4e1f
|
feat(includes): 软关键字 fn/fun/func/function 与 match 语句判定; 解析 fail-fast 错误记录(get_parse_err_*) + 相邻字符串字面量隐式拼接; ord/chr 内置函数; llvmlite build_alloca_aligned; memhub 超块请求返回 NULL; numpy 显式 string./stdio. 前缀; this 数组迭代修复
|
2026-08-09 17:10:34 +08:00 |
|
TermiNexus
|
0a10b20dde
|
修正了逻辑,使 TPV 能够正常编译
|
2026-08-03 02:00:49 +08:00 |
|
TermiNexus
|
4e17365b76
|
修正了 args 传参问题
|
2026-07-31 17:15:54 +08:00 |
|
TermiNexus
|
cfc30d735c
|
将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名
|
2026-07-30 16:33:56 +08:00 |
|