Commit Graph

519 Commits

Author SHA1 Message Date
pjh123 bfc2312f6c fix: 数组元素写入越过元素区时搬移属性区 + defineProperty 数组索引走元素区 2026-08-07 23:20:32 +08:00
pjh123 53945a0914 fix: Object.prototype.toString 类型标签([object Array] 等)+ array_push 维护数组元素数 2026-08-07 22:06:09 +08:00
pjh123 31542a2576 fix: 数组属性存储机制(array_prop_count 显式元素数 + shape 属性偏移 + IC/prop_forge 对齐) 2026-08-07 21:53:45 +08:00
pjh123 db04bc25c9 feat: 迁移到 regress 引擎(backref/lookaround/命名组/v-flag)+ 手动 \$ 展开 replace + exec 捕获组数组 2026-08-07 21:29:22 +08:00
pjh123 0df0c2cb98 fix: native 构造器可构造性标志(OBJ_TYPE_CONSTRUCTOR)+ Reflect.construct/new 校验 2026-08-07 20:44:04 +08:00
pjh123 4768e92ba8 fix: 括号包裹的匿名函数参与 name 推断(is_anonymous_function_definition) 2026-08-07 20:27:49 +08:00
pjh123 697f81dfad chore: 收窄运行时 skip(删除断言失败消息误当 skip)+ 正则依赖 lock 2026-08-07 20:19:44 +08:00
pjh123 0c904563d1 fix: 默认参数/解构默认值函数名推断(SetFunctionName) 2026-08-07 20:15:35 +08:00
pjh123 4734d7d3d5 fix: 赋值表达式与对象属性函数名推断(function/class/arrow) 2026-08-07 20:10:06 +08:00
pjh123 86615a3bef fix: 变量声明赋值 class 表达式参与函数名推断 2026-08-07 20:05:43 +08:00
pjh123 20381f726b fix: 正则字面量编译期语法校验(非法抛 SyntaxError)+ CREATE_REGEXP 保留错误类型 2026-08-07 20:02:11 +08:00
pjh123 a03c957272 fix: String.prototype 方法 null/undefined this 抛 TypeError 2026-08-07 19:57:24 +08:00
pjh123 265fb6adbf fix: Object() 对原始值创建 boxed 对象 + String 方法 this 完整转换 2026-08-07 19:52:35 +08:00
pjh123 1ebf2c3115 fix: String() 对象参数走 ToString 完整转换(数组→join 等) 2026-08-07 19:39:18 +08:00
pjh123 261980f027 fix: 参数默认值 emit 前完成捕获分析 + 类方法支持 upvalue 捕获 2026-08-07 19:18:38 +08:00
pjh123 e3d8092088 fix: 闭包捕获/upvalue 分析纳入参数默认值表达式(含嵌套函数声明) 2026-08-07 19:04:25 +08:00
pjh123 9981086424 fix: SUPER_CALL 后构造实例 proto 设为 new.target.prototype(子类化内建) 2026-08-07 18:41:34 +08:00
pjh123 5c385c2b1c fix: 闭包捕获分析补扫 catch 参数解构模式的表达式引用 2026-08-07 18:32:05 +08:00
pjh123 e6886eb1d0 feat: 实现整数索引读取与 for-of 迭代(get_iterator 支持) 2026-08-07 18:10:19 +08:00
pjh123 2b7b9afcc8 fix: REST_OBJECT 提前消费 ext 字防 ToObject 早返回后 pc 错位 2026-08-07 18:00:59 +08:00
pjh123 93942a1aa5 fix: REST_OBJECT 对原始类型 ToObject(number/boolean/symbol 空对象,string 索引字符) 2026-08-07 17:50:49 +08:00
pjh123 df69213849 fix: builtin 槽 vreg 预着色恒等排除出可分配集防 prologue 覆写 2026-08-07 17:40:09 +08:00
pjh123 76b3bcf6eb fix: 顶层模块 param_layout.base 改 0 防父槽误判 + regalloc/VM 诊断日志 2026-08-07 17:13:57 +08:00
pjh123 38c569c1da fix: catch 参数支持解构 pattern(数组/对象/默认值) 2026-08-07 16:27:48 +08:00
pjh123 344a2a17e3 fix: 闭包捕获 let/const 的 cell 未初始化(TDZ)读取抛 ReferenceError 2026-08-07 16:19:35 +08:00
pjh123 fca660110d fix: LOAD_UPVALUE 的 uv_idx 改 Imm 编码避免被 RegAlloc 重写 2026-08-07 16:09:17 +08:00
pjh123 66c952d2b2 feat: 实现默认参数(形参 initializer 与解构默认值) 2026-08-07 15:26:25 +08:00
pjh123 192b697335 fix: 数组元素访问器属性触发 getter 并透传异常 2026-08-07 15:05:44 +08:00
pjh123 de67cc8eee fix: 链式 upvalue 捕获支持多层嵌套函数引用深层变量 2026-08-07 14:56:51 +08:00
pjh123 710c8c8a2c fix: 闭包 upvalue cell 占位稳定化修复错读调用方表 2026-08-07 14:38:47 +08:00
pjh123 61d39b6536 fix: Function.prototype.call 的 native 错误转 JS 异常可被捕获 2026-08-07 13:45:39 +08:00
pjh123 0ce089b522 chore: 锁定 oxc_semantic 依赖 2026-08-07 12:27:32 +08:00
pjh123 c0ea2d3eb1 fix: 函数 name 属性与 harness 重复 Test262Error 定义 2026-08-07 12:22:59 +08:00
pjh123 b26715742f feat: 引入 oxc_semantic 早期错误检查与 onlyStrict 注入 2026-08-07 12:04:46 +08:00
pjh123 91528d9c19 feat: 迭代协议支持对象字面量 computed key 与 upvalue 捕获 2026-08-07 10:49:24 +08:00
pjh123 fd94ff6931 fix: 子模块全局扁平化根治逃逸闭包上下文错位 2026-08-07 10:49:15 +08:00
pjh123 98b07687f0 fix: CREATE_CLOSURE 越界改运行时错误防进程中断 2026-08-07 00:42:33 +08:00
pjh123 f10010869e fix: new 构造入口补齐 sub_modules 上下文切换 2026-08-07 00:38:50 +08:00
pjh123 dd5607ce1a fix: inline 回调支持 upvalue 闭包上下文 2026-08-07 00:23:35 +08:00
pjh123 710965b7f2 fix: new 构造 cell_stack 失衡与子模块 immutables 缓存失步 2026-08-07 00:15:09 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 e36a69976e refactor: 清除 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
pjh123 d65fa03de6 fix: nested 子模块引用父槽无预着色保护致读错物理槽
子模块 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
pjh123 c47a0a73d1 test: vreg 超 253 高复用复现样例 + n_registers 汇总断言 2026-08-06 19:33:16 +08:00
pjh123 50b843a72a fix: 调用参数打包连续寄存器 + 捕获参数建 cell + TEMPLATE_STR ext 重映射(修复 JSON/closures/template 回归) 2026-08-06 19:33:05 +08:00
pjh123 d3385bc838 feat: 管线接入 liveness/精确DCE/RegAlloc + --no-regalloc flag(D-17/D-18) 2026-08-06 17:56:55 +08:00
pjh123 08f061dfd3 feat: 指令改写 + 元数据回写 + alloc 入口,RegAlloc on/off 运行时等价(D-16/D-20) 2026-08-06 17:44:31 +08:00
pjh123 0b0d36fa85 feat: 新增 oxide_regalloc crate,干涉图 + graph coloring + spill 拆分(D-09/D-10/D-11) 2026-08-06 17:13:27 +08:00
pjh123 9d619cd9bb feat: liveness 驱动的精确二轮 dce_precise + is_top_level 标志(D-17/D-19/D-20) 2026-08-06 16:55:26 +08:00
pjh123 fd267816f4 feat: 新增 MOV/SPILL/UNSPILL 执行语义 + spill 栈帧边界(D-06/D-07/D-08) 2026-08-06 16:51:01 +08:00