Commit Graph

519 Commits

Author SHA1 Message Date
爱特每羊队 cbb139e956 fix: native 构造器可构造性标志(OBJ_TYPE_CONSTRUCTOR)+ Reflect.construct/new 校验 2026-08-07 20:44:04 +08:00
爱特每羊队 fec6b68ecb fix(emit): 括号包裹的匿名函数参与 name 推断(is_anonymous_function_definition) 2026-08-07 20:27:49 +08:00
爱特每羊队 b64849cdb0 chore(test262): 收窄运行时 skip(删除断言失败消息误当 skip)+ 正则依赖 lock 2026-08-07 20:19:44 +08:00
爱特每羊队 b49ac29414 fix(emit): 默认参数/解构默认值函数名推断(SetFunctionName) 2026-08-07 20:15:35 +08:00
爱特每羊队 5b70a21832 fix(emit): 赋值表达式与对象属性函数名推断(function/class/arrow) 2026-08-07 20:10:06 +08:00
爱特每羊队 b291a68528 fix(emit): 变量声明赋值 class 表达式参与函数名推断 2026-08-07 20:05:43 +08:00
爱特每羊队 0d42207a1c fix(regexp): 正则字面量编译期语法校验(非法抛 SyntaxError)+ CREATE_REGEXP 保留错误类型 2026-08-07 20:02:11 +08:00
爱特每羊队 e815a56fb9 fix(string): String.prototype 方法 null/undefined this 抛 TypeError 2026-08-07 19:57:24 +08:00
爱特每羊队 ca619d7c06 fix(object): Object() 对原始值创建 boxed 对象 + String 方法 this 完整转换 2026-08-07 19:52:35 +08:00
爱特每羊队 8ac630b4e0 fix(string): String() 对象参数走 ToString 完整转换(数组→join 等) 2026-08-07 19:39:18 +08:00
爱特每羊队 82e15f32f6 fix(emit): 参数默认值 emit 前完成捕获分析 + 类方法支持 upvalue 捕获 2026-08-07 19:18:38 +08:00
爱特每羊队 11852e76af fix(emit): 闭包捕获/upvalue 分析纳入参数默认值表达式(含嵌套函数声明) 2026-08-07 19:04:25 +08:00
爱特每羊队 45925b8701 fix(vm): SUPER_CALL 后构造实例 proto 设为 new.target.prototype(子类化内建) 2026-08-07 18:41:34 +08:00
爱特每羊队 f015e1c428 fix(emit): 闭包捕获分析补扫 catch 参数解构模式的表达式引用 2026-08-07 18:32:05 +08:00
爱特每羊队 eebee1b624 feat(typedarray): 实现整数索引读取与 for-of 迭代(get_iterator 支持) 2026-08-07 18:10:19 +08:00
爱特每羊队 33690fb803 fix(vm): REST_OBJECT 提前消费 ext 字防 ToObject 早返回后 pc 错位 2026-08-07 18:00:59 +08:00
爱特每羊队 3dee6fa21c fix(vm): REST_OBJECT 对原始类型 ToObject(number/boolean/symbol 空对象,string 索引字符) 2026-08-07 17:50:49 +08:00
爱特每羊队 4a0de6212c fix(regalloc): builtin 槽 vreg 预着色恒等排除出可分配集防 prologue 覆写 2026-08-07 17:40:09 +08:00
爱特每羊队 accc677769 fix(emit): 顶层模块 param_layout.base 改 0 防父槽误判 + regalloc/VM 诊断日志 2026-08-07 17:13:57 +08:00
爱特每羊队 70536e3e2f fix(emit): catch 参数支持解构 pattern(数组/对象/默认值) 2026-08-07 16:27:48 +08:00
爱特每羊队 9a47ad7c1f fix(vm): 闭包捕获 let/const 的 cell 未初始化(TDZ)读取抛 ReferenceError 2026-08-07 16:19:35 +08:00
爱特每羊队 e9d1bc822c fix(emit): LOAD_UPVALUE 的 uv_idx 改 Imm 编码避免被 RegAlloc 重写 2026-08-07 16:09:17 +08:00
爱特每羊队 04a6aa10f7 feat(emit): 实现默认参数(形参 initializer 与解构默认值) 2026-08-07 15:26:25 +08:00
爱特每羊队 6ed0d42489 fix(vm): 数组元素访问器属性触发 getter 并透传异常 2026-08-07 15:05:44 +08:00
爱特每羊队 f4d95f373e fix(vm): 链式 upvalue 捕获支持多层嵌套函数引用深层变量 2026-08-07 14:56:51 +08:00
爱特每羊队 543f88ce86 fix(vm): 闭包 upvalue cell 占位稳定化修复错读调用方表 2026-08-07 14:38:47 +08:00
爱特每羊队 4bc6db4fa4 fix(vm): Function.prototype.call 的 native 错误转 JS 异常可被捕获 2026-08-07 13:45:39 +08:00
爱特每羊队 ddb3ba1990 chore(deps): 锁定 oxc_semantic 依赖 2026-08-07 12:27:32 +08:00
爱特每羊队 c8979660cb fix(vm): 函数 name 属性与 harness 重复 Test262Error 定义 2026-08-07 12:22:59 +08:00
爱特每羊队 be9b96dfae feat(parser): 引入 oxc_semantic 早期错误检查与 onlyStrict 注入 2026-08-07 12:04:46 +08:00
爱特每羊队 dd291250e2 feat(iter): 迭代协议支持对象字面量 computed key 与 upvalue 捕获 2026-08-07 10:49:24 +08:00
爱特每羊队 d1675c217d fix(vm): 子模块全局扁平化根治逃逸闭包上下文错位 2026-08-07 10:49:15 +08:00
爱特每羊队 4fa21d85d8 fix(vm): CREATE_CLOSURE 越界改运行时错误防进程中断 2026-08-07 00:42:33 +08:00
爱特每羊队 f1362f86e5 fix(vm): new 构造入口补齐 sub_modules 上下文切换 2026-08-07 00:38:50 +08:00
爱特每羊队 c59518e899 fix(vm): inline 回调支持 upvalue 闭包上下文 2026-08-07 00:23:35 +08:00
爱特每羊队 f57cb0f051 fix(vm): new 构造 cell_stack 失衡与子模块 immutables 缓存失步 2026-08-07 00:15:09 +08:00
爱特每羊队 328b8a3ddc docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
爱特每羊队 4e0fd762c2 refactor(regalloc): 清除 color() 冗余干涉图构建 + use_points 改用精确 use 判定
- color() 入口移除无用的 graph::build(run 内重建),删掉 _graph 参数
- graph.rs reg_count 改名 inst_count(实为指令数)
- use_points 由 live_before 活集改为 inst.use_regs() 精确 use 点,消除冗余 UNSPILL,spill 压力测试 38s→6s
2026-08-06 20:41:01 +08:00
爱特每羊队 d8aa902ff0 fix(regalloc): nested 子模块引用父槽无预着色保护致读错物理槽(B014)
子模块 alloc 时引用父槽的 LOAD_VAR.a/STORE_VAR.rd 被当作自身 vreg 染色移走,
父侧 collect_escaped 只保护父不移动槽,子侧无对称保护。以 param_layout.base
(inherited_reg_start 分界)识别父槽引用并预着色恒等,spill 自由色排除。

新增 nested_parent_slot_regress 回归测试(field/method + 高压力变量),
workspace 全绿 + clippy 干净。
2026-08-06 20:34:55 +08:00
爱特每羊队 e667d5a329 test(regalloc): B005 复现 + n_registers 汇总断言(REG-04 验收) 2026-08-06 19:33:16 +08:00
爱特每羊队 8317c03edb fix(emit): 调用参数打包连续寄存器 + 捕获参数建 cell + TEMPLATE_STR ext 重映射(修复 JSON/closures/template 回归) 2026-08-06 19:33:05 +08:00
爱特每羊队 a763e7ab75 feat(compiler): 管线接入 liveness/精确DCE/RegAlloc + --no-regalloc flag(D-17/D-18) 2026-08-06 17:56:55 +08:00
爱特每羊队 a2afae670d feat(regalloc): 指令改写 + 元数据回写 + alloc 入口,RegAlloc on/off 运行时等价(D-16/D-20) 2026-08-06 17:44:31 +08:00
爱特每羊队 31bba82912 feat(regalloc): 新增 oxide_regalloc crate,干涉图 + graph coloring + spill 拆分(D-09/D-10/D-11) 2026-08-06 17:13:27 +08:00
爱特每羊队 f4e0fdf14e feat(dce): liveness 驱动的精确二轮 dce_precise + is_top_level 标志(D-17/D-19/D-20) 2026-08-06 16:55:26 +08:00
爱特每羊队 6c0c30e5d5 feat(vm): 新增 MOV/SPILL/UNSPILL 执行语义 + spill 栈帧边界(D-06/D-07/D-08) 2026-08-06 16:51:01 +08:00
爱特每羊队 de558f7a99 feat(liveness): 新增 oxide_liveness crate,CFG 数据流 liveness + 逐指令 live range(D-15) 2026-08-06 16:41:57 +08:00
爱特每羊队 fc4924c2c9 feat(ir): 新增 MOV/SPILL/UNSPILL opcode 登记 + 构造 API + 契约层(D-06/D-07) 2026-08-06 16:34:25 +08:00
爱特每羊队 38d6c7a60e refactor(emit): 寄存器号 u8→u32 全链放宽,vreg 化去 checkpoint/reg_overflow(B005) 2026-08-06 16:31:16 +08:00
爱特每羊队 c52bf6313e fix(emit): const 声明 STORE_VAR 恒 b=0,修复寄存器复用触发误抛(B011) 2026-08-06 16:03:09 +08:00