-
beccb36b66
feat(codegen): 单目 & 支持对构造调用/函数调用结果取址
TermiNexus
2026-09-27 15:15:59 +08:00
-
4255ab9d32
fix(fstr): f-string 改回每站点栈缓冲 + 禁止逃逸,逃逸点改 stdlib 拷贝
TermiNexus
2026-09-27 14:45:28 +08:00
-
72a3c483e4
fix(fstr): f-string 结果缓冲改为模块级全局,修 return f-string 的悬空栈指针
TermiNexus
2026-09-27 14:32:46 +08:00
-
ca5473304f
fix(gen): 结构体字段表与 LLVM 槽位一致性 fail-fast 护栏
TermiNexus
2026-09-27 14:00:18 +08:00
-
12bd7b7a16
fix(gen): 收敛 static 跨模块拦截为独立方法,消除类型推断污染
TermiNexus
2026-09-27 13:12:22 +08:00
-
dd56580855
feat(gen,static): static 符号禁止跨模块使用(定义侧登记 + 引用侧三处拦截)
TermiNexus
2026-09-27 12:58:51 +08:00
-
424dbd7379
chore(gen): 加 [MODSHA1] 临时诊断定位 string.split 模块名解析失败(定位后删除)
TermiNexus
2026-09-27 12:52:03 +08:00
-
87f5b1026c
chore(gen): 删除 CallGenDispatch 的 [MDISP] 临时探针及其专用 import stdio
TermiNexus
2026-09-27 12:32:52 +08:00
-
9455db0eec
feat(gen,type): callable[] / callable[[]] / callable[[A,B],R] 与 t.Callable 逐点等价
TermiNexus
2026-09-27 12:30:47 +08:00
-
a76cf55a2d
feat(gen,type): 注解位置的小写裸名 callable 等价 t.Callable(i8*)
TermiNexus
2026-09-27 12:28:58 +08:00
-
c387926977
feat(gen,type): 支持无签名函数指针 t.Callable / t.Callable[] / t.Callable[[]]
TermiNexus
2026-09-27 12:25:52 +08:00
-
7c53a8744d
fix(gen,match): 穷尽 match 不再误报流程掉出末尾;default 臂直译不再经 def_arr 反查
TermiNexus
2026-09-27 12:17:14 +08:00
-
cf815b17de
feat(gen): volatile 构造写入落 LLVM volatile(逐字段 store + 构造三方法屏障)
TermiNexus
2026-09-27 12:01:22 +08:00
-
7d28c9649e
feat(gen,err): CastError 定位到出错表达式;vpi 生成 fail-fast;函数属性接受直接形态
TermiNexus
2026-09-27 11:41:11 +08:00
-
f084da7c01
feat(gen): 重复声明改为无条件失败(不再比较类型),global 后再注解同样报错
TermiNexus
2026-09-27 08:55:08 +08:00
-
78fc7313fb
feat(gen): 同名全局 + 注解冲突优先报重复定义
TermiNexus
2026-09-27 08:50:18 +08:00
-
f0309e4904
fix(gen,renum): 指针操作符目标写入落盘 + REnum tag 三侧口径统一,修 kind() CastError
TermiNexus
2026-09-27 00:19:44 +08:00
-
bcf66edebe
fix(vpi): 防环访问表表满不再静默丢标记,改为 ×2 扩容 + fail-fast
TermiNexus
2026-09-26 21:25:23 +08:00
-
373a20c3e5
perf(prof,gen): 编译热点优化 + 内存池 OOM 诊断接线 + REnum 指针载荷修正
TermiNexus
2026-09-26 19:27:23 +08:00
-
676c19c362
feat(asm,err,typedef): 支持 __asm__/__llvmir__ 裸名与 typedef 语法糖;解析报错统一 Python 风格 traceback
TermiNexus
2026-09-25 13:11:16 +08:00
-
a7af34bd7e
修正了部分代码的表达方式,最后可用版本,mlirlite 已基本完善
TermiNexus
2026-09-23 17:41:49 +08:00
-
951b89be36
修正了部分代码的表达方式,最后可用版本,正在为 mlirlite 做准备
TermiNexus
2026-09-23 16:09:32 +08:00
-
a5ceb3d4eb
增加 JIT REPL
TermiNexus
2026-09-21 16:17:19 +08:00
-
9910e05760
修复了一些错误,更改了一点语法
TermiNexus
2026-09-18 20:00:40 +08:00
-
9e2ccbfab7
将部分 | t.CPtr 修正为 rawptr[T]
TermiNexus
2026-09-18 17:56:24 +08:00
-
eb01a45024
修复了一些问题
TermiNexus
2026-09-17 14:51:18 +08:00
-
cb0836de8a
清理了 t.CVoid
TermiNexus
2026-09-16 16:06:48 +08:00
-
9a191daa8d
错拼 rowptr 改为 rawptr
TermiNexus
2026-09-16 11:42:28 +08:00
-
7cba4cbc95
chore: 清理超长历史注释,并一并提交并行会话的代码改动
TermiNexus
2026-09-16 11:27:05 +08:00
-
b28f20cce7
chore: 清理调试打印与失效 import
TermiNexus
2026-09-16 10:32:40 +08:00
-
429de97083
fix(call): 泛型特化类跨模块 declare 按模板 vpi 注解对齐形参口径
TermiNexus
2026-09-16 09:31:57 +08:00
-
a83d183abb
fix(gen/call): 跨模块调用 SSA 整型实参按定义侧形参扩宽
TermiNexus
2026-09-15 23:58:40 +08:00
-
31b8dccffd
fix(stub): declare 侧识别 t.CPtr[...] 段,与定义侧指针层级口径对齐
TermiNexus
2026-09-15 23:58:39 +08:00
-
de86a1ed70
fix(gen/for): 负数字面量 stop 的 range 循环退回有符号谓词,修复 _find_provider 死循环
TermiNexus
2026-09-15 22:45:28 +08:00
-
296f6a739e
fix(gen/renum): REnum 补齐 Assign 形式无载荷变体的变体表注册
TermiNexus
2026-09-15 22:45:28 +08:00
-
617d4ea911
fix(gen/assign): 模块级与 nonlocal 分支补写赋值注解上下文通道
TermiNexus
2026-09-15 21:52:42 +08:00
-
5a59432733
fix(gen): 泛型裸名构造补齐注解上下文与关键字实参两条推断来源
TermiNexus
2026-09-15 21:52:41 +08:00
-
6394ea30e2
fix(call): 泛型类裸名构造按 __init__ 签名对齐类型实参并禁止静默默认 int
TermiNexus
2026-09-15 21:33:54 +08:00
-
b27633c86e
fix(Gen/Type): long/unsigned long 按目标平台取宽,Windows 对齐 TPC LLP64(ULONG/LONG => i32)
TermiNexus
2026-09-15 20:56:52 +08:00
-
813f0157e3
fix(Gen/Expr): 类名不再被当模块级全局变量制造引用,消除 ASan 构建 undefined symbol
TermiNexus
2026-09-15 20:47:15 +08:00
-
592400a1ea
fix(asan): 并行 llc 任务在 ASan 模式下改用插桩后的 .asan.ll 作输入
TermiNexus
2026-09-15 20:47:14 +08:00
-
8312e653e8
fix(CodeGen): 裸结构体形参按 C ABI 按值、修正 |t.CPtr 指针层级,对齐 TPC 并消除签名发散
TermiNexus
2026-09-15 20:47:14 +08:00
-
31df298341
fix(gen): 修 REnum match case 静默丢弃与 CDefine 负 64 位常量截断,补 void 注解放行、移植类型定义前移
TermiNexus
2026-09-15 19:11:54 +08:00
-
60100fa6af
fix(type): 联合类型 A|t.CPtr 判据由白名单改为解析成功即保留,stub 侧同步
TermiNexus
2026-09-15 13:52:21 +08:00
-
c1859a111c
fix(tpv): 撤销 llc 输出重定向,回归继承父控制台并保留 GetLastError 与退出码诊断
TermiNexus
2026-09-14 23:02:59 +08:00
-
05d5bfbf37
fix(tpv): 修 CreateProcessA 重定向未启动外部命令,并把捕获输出移到 error 之前
TermiNexus
2026-09-14 22:14:45 +08:00
-
82f16127c0
fix(tpv): llc 日志文件句柄初始化改用 NULL,避免整数常量赋给指针类型
TermiNexus
2026-09-14 21:19:20 +08:00
-
785741026f
fix(tpv): llc 失败日志附带 stderr|stdout、退出码与完整命令
TermiNexus
2026-09-14 20:21:57 +08:00
-
51daf28297
fix(expr): 三元表达式 else 分支按 then 的指针类型下传目标类型
TermiNexus
2026-09-14 19:26:46 +08:00
-
7fabf886fc
fix(vpi): 返回注解索引重建的键长常量拼写修正为 VPI_KEY_LEN
TermiNexus
2026-09-14 16:54:36 +08:00
-
a46391bf42
fix(expr): coerce_to_type 拓宽方向判定改传 builder.Pool,修正未定义实参 pool
TermiNexus
2026-09-14 15:48:09 +08:00
-
b918321f77
perf(callgen): text.ll 存在性改属性查询 + 返回类型按模块一次性缓存
TermiNexus
2026-09-14 15:26:10 +08:00
-
ce612c8e57
perf(lookup): 恢复名字索引可信未命中即确无的短路(Ty 索引保持停用)
TermiNexus
2026-09-14 12:59:27 +08:00
-
4ed7f3909a
fix(lookup): 索引未命中一律回退原线性扫描,停用不可信的 Ty 索引判定
TermiNexus
2026-09-14 12:41:27 +08:00
-
e7f47735ed
perf(callgen): find_func_in_module 以 function_get_name_len 替代 strlen 热点
TermiNexus
2026-09-14 08:26:18 +08:00
-
cb430bf00a
perf(gen): 结构体/CTypedef 查名加索引,热点线性查名补首字符预筛
TermiNexus
2026-09-14 04:15:36 +08:00
-
e8db102b9e
perf(gen): 结构体按模块查找与 ctypedef 跨度查找加首字节预筛
TermiNexus
2026-09-14 00:09:06 +08:00
-
16472a61d9
perf(lookup): 热点线性查找表加开放寻址名索引,O(n) 降为期望 O(1)
TermiNexus
2026-09-14 00:05:12 +08:00
-
a9819e4123
fix(gen): 方法分派与 list 内建判定改用接收者实际特化名,根治 list[int].get 截断
TermiNexus
2026-09-13 21:11:33 +08:00
-
76df3f0225
perf(gen): 结构体/类型查找去线性化并守卫全量遍历残量
TermiNexus
2026-09-13 18:56:16 +08:00
-
0dd7511a9b
fix(tpv): 修常量折成0致alloc(0)与多处fail-fast,并落地热点优化
TermiNexus
2026-09-13 17:50:03 +08:00
-
af2c66e7d7
chore(tpv): 永久池扩容至 1 GiB
TermiNexus
2026-09-12 23:14:52 +08:00
-
eef84657a1
fix(tpv): 修正 REnum 表按名查找与 match 分派,恢复 str() 指针强转
TermiNexus
2026-09-12 23:14:23 +08:00
-
e0e024ee93
fix(tpv): 注解裸名按 from-import 归属查找(D26 闭环)
TermiNexus
2026-09-12 19:37:55 +08:00
-
ea2abba574
refactor(tpv): 删除 _deps_pending 置位面与 Phase A pending 多遍收敛机制
TermiNexus
2026-09-12 19:24:52 +08:00
-
17f109e204
fix(tpv): 修复 vpi 重导出包前缀与 D25 变量名悬垂,补齐 fatal_error 刷盘
TermiNexus
2026-09-12 19:00:19 +08:00
-
626f79cbd1
fix(tpv): vpi 相对导入补回包前缀(D26)
TermiNexus
2026-09-12 15:59:37 +08:00
-
3c45895878
fix(tpv): alloca 退化守卫收窄到「裸泛型模板基类」形态(避免误杀同名重声明换类型)
TermiNexus
2026-09-12 15:24:23 +08:00
-
590a6a2bbe
fix(tpv): 复用的 alloca 与注解类型不一致时 fail-fast(D25 alloca 退化根治)
TermiNexus
2026-09-12 15:13:41 +08:00
-
b206e7d9c1
fix(tpv): 泛型类型实参禁止静默默认 int(D25 fail-fast 两处)
TermiNexus
2026-09-12 14:52:23 +08:00
-
ced50bd78b
fix(tpv): 注解 mangled 名算键统一——补回丢失的 from_imports(D25 根因第 1 步)
TermiNexus
2026-09-12 14:32:57 +08:00
-
967095df5b
refactor(tpv): _deps_pending 置位收敛到唯一入口 _MarkDepsPending(S4 第一步)
TermiNexus
2026-09-12 13:53:20 +08:00
-
7e68e76ec4
refactor(tpv): SHA1 前缀判定收敛到 GenApi 唯一真源(C10/D3 收尾)
TermiNexus
2026-09-12 12:59:01 +08:00
-
471bedbcf4
fix(tpv): 去掉条目指针数组往返,改上界/量长直写(修自举 ASan strcat -1 崩溃)
TermiNexus
2026-09-12 12:43:08 +08:00
-
82eea2719f
refactor(tpv): rowptr[T] 迁移 + D 表定长缓冲改精确分配 + SHA1 前缀判定收敛(D1/D3/D4/D5/D6/D7/C10)
TermiNexus
2026-09-12 11:09:35 +08:00
-
7471cc64f9
docs(tpv): 精简 CompilerFactory 装配设计注释块
TermiNexus
2026-09-12 10:52:00 +08:00
-
679758c05b
refactor(tpv): 删无符号判定的旧字符串兜底,真源唯一(S4 去字符串化收尾)
TermiNexus
2026-09-12 10:26:51 +08:00
-
cc17a8f8db
refactor(tpv): 去掉函数内懒导入,改用顶层 import
TermiNexus
2026-09-12 10:23:08 +08:00
-
7fbf69ae63
fix(tpv): InternSpec 表满改为 fatal(不再返回 None 静默丢类型信息)
TermiNexus
2026-09-12 10:21:27 +08:00
-
1039969f69
refactor(tpv): CPtr 标记语义定为注解基名精确比较(第 5 处收敛)
TermiNexus
2026-09-12 10:12:01 +08:00
-
ae63f4f6ab
refactor(tpv): 容器判断改基名精确比较(SpecTypeNameBaseIs)
TermiNexus
2026-09-12 10:10:14 +08:00
-
19fca19ca7
refactor(tpv): get_llvm_type_bits 双副本收敛到 TSpec.SpecTypeBits
TermiNexus
2026-09-11 23:14:51 +08:00
-
41c5908c5e
refactor(tpv): Y 类兜底改 fail-fast(vpi 声明返回/形参 + vpi 类型文本)
TermiNexus
2026-09-11 22:46:39 +08:00
-
db8220801c
refactor(tpv): Z 类兜底改 fail-fast(返回类型/模块级变量/枚举成员)
TermiNexus
2026-09-11 22:17:45 +08:00
-
cc3359faea
refactor(tpv): 形参类型注解解析失败改 fail-fast(不再静默用 i32)
TermiNexus
2026-09-11 22:14:10 +08:00
-
22c71388d4
docs(tpv): 更新 TypeSpec 注释(IsPtrElement 已删,仅容器种类待后续)
TermiNexus
2026-09-11 22:09:32 +08:00
-
a4bc5dc0ce
refactor(tpv): 删除 IsPtrElement 字段,指针元素语义承载于 Spec.ElemBits
TermiNexus
2026-09-11 22:09:18 +08:00
-
e55ec5fde0
docs(tpv): 更新 TypeSpec 设计注释至 S4 现状(TypeStr/AnnotClassName 已删)
TermiNexus
2026-09-11 22:06:20 +08:00
-
9e461d21cb
refactor(tpv): 删除 AnnotClassName 字段,注解类名统一承载于 Spec.SourceName
TermiNexus
2026-09-11 22:06:00 +08:00
-
95133d8483
refactor(tpv): 变量/字段注解类名读取统一走 Spec.SourceName 封装
TermiNexus
2026-09-11 22:02:28 +08:00
-
8aad248c25
fix(tpv): SpecWithSign 不复制 SourceName,避免驻留表来源名污染
TermiNexus
2026-09-11 21:54:29 +08:00
-
029a423f55
feat(tpv): Spec 增 SourceName 承接注解来源名(类名块基础设施)
TermiNexus
2026-09-11 21:54:10 +08:00
-
7028399366
refactor(tpv): 无符号判定切读 Spec(条目级 TS_UINT 优先)
TermiNexus
2026-09-11 21:51:11 +08:00
-
7fedf8daad
feat(tpv): Spec 注解侧填符号性(SpecWithSign + 变量/字段接入)
TermiNexus
2026-09-11 21:48:23 +08:00
-
0a108e6289
refactor(tpv): 删除 FuncEntry.TypeStr 旧路径,函数类型文本改由 Spec 派生
TermiNexus
2026-09-11 21:33:58 +08:00
-
a173ba0296
refactor(tpv): ClassGenVTable vtable 类型文本切到 SpecToLLVMText
TermiNexus
2026-09-11 21:21:01 +08:00
-
0e973d5f23
feat(tpv): SpecToLLVMText 格式化器与函数签名一致性闸门,并修驻留键静默截断
TermiNexus
2026-09-11 21:13:28 +08:00
-
ff7caa57e8
feat(tpv): S3 条目双写接线,三个唯一创建点填 TypeSpec
TermiNexus
2026-09-11 20:43:17 +08:00
-
f0deff931d
refactor(tpv): S3 无符号判定切读真源,指针层级收拢到 TypeSpec
TermiNexus
2026-09-11 20:40:26 +08:00
-
b7100e9dc1
feat(tpv): S2 落无符号判定双写闸门,并修 i8 拓宽丢符号与 WCHARPTR 旧判
TermiNexus
2026-09-11 20:32:55 +08:00