Commit Graph

  • c9016ee662 style: 自动格式化 pjh123 2026-06-30 20:49:56 +08:00
  • f9449c52e3 fix: 修复嵌套函数调用并接通闭包捕获链路 pjh123 2026-06-30 20:49:23 +08:00
  • 72ff89e056 perf: 移除 JsString 死哈希字段,消除每次字符串创建的 O(n) FxHash 开销 pjh123 2026-06-30 20:04:37 +08:00
  • dcc3b610e9 style: 自动格式化 pjh123 2026-06-30 20:04:27 +08:00
  • c58aae4862 feat: 搭建闭包捕获基础设施 pjh123 2026-06-30 19:58:58 +08:00
  • 930b14b3f0 fix: count pass 注册顶层 var 名,hoisted 函数声明可解析外层 var pjh123 2026-06-30 16:37:50 +08:00
  • a34c289d47 fix: native 调用保存/恢复 this 寄存器,避免方法内调用后 this 被 callee 覆盖 pjh123 2026-06-30 16:12:42 +08:00
  • ccc527af71 fix: 顶层 count pass 镜像 emit 的函数提升顺序,消除跳转目标漂移导致的死循环 pjh123 2026-06-30 16:01:00 +08:00
  • 6dd58e471f feat: Reflect.construct 实现正确 construct 语义 pjh123 2026-06-30 15:47:05 +08:00
  • c720481ae5 fix: error 实例不再设 own name 属性,name 由原型提供 pjh123 2026-06-30 15:46:43 +08:00
  • d926d1093b fix: 修复最新版 clippy 告警 pjh123 2026-06-30 15:23:11 +08:00
  • d5c292d33f style: 修复 clippy --all-targets 告警 pjh123 2026-06-30 15:18:13 +08:00
  • 9f3e353f56 style: 自动格式化 pjh123 2026-06-30 15:09:19 +08:00
  • 32092bddd5 Merge branch 'pr-develop' into 'main' pjh123 2026-06-30 05:38:30 +00:00
  • e4a46c31bf feat: run --repeat N 支持单进程内多次 eval 复用 Kernel pjh123 2026-06-29 21:37:37 +08:00
  • 75525cbeef fix: 简化显示纯耗时, 修复 pipefail/BOA源/JerryScript编译/录入值 pjh123 2026-06-29 15:54:07 +08:00
  • 45a70ddf00 fix: build.sh 安装 OpenSSL dev + cmake 依赖 pjh123 2026-06-29 14:42:12 +08:00
  • 0ae3d2cb9d feat: 多引擎对比 — QuickJS/BOA/JerryScript/V8(node)/Hermes pjh123 2026-06-29 14:25:37 +08:00
  • da75f3a214 perf: 字符串拼接用 push_to_string 消去中间分配, GC阈值 8M→32M pjh123 2026-06-29 14:04:50 +08:00
  • ba7b9b9182 fix: build.sh 不再吞 QuickJS 编译错误 pjh123 2026-06-29 02:52:27 +08:00
  • 295a7050d4 fix: QuickJS 缺失时显示 N/A 而非 infms pjh123 2026-06-29 02:44:37 +08:00
  • 32da4b13df fix: 修复 run_benchmark.py 第157行字符串缺闭合引号 pjh123 2026-06-29 02:39:24 +08:00
  • 15c1b81aa7 perf: String.replace 补正则回退,runner 接收者不匹配错误 skip 放宽 pjh123 2026-06-29 02:17:59 +08:00
  • a2209b9cb8 perf: runner 移除 noStrict 与 Promise/dstr 路径 skip,bind 改抛规范 TypeError pjh123 2026-06-29 02:12:58 +08:00
  • 83ff63170d test: 排除列表收窄至 11 个未实现特性,运行时限制改按类 skip pjh123 2026-06-29 01:04:10 +08:00
  • 046119c22c fix: as_string 改走 to_string_full,split 补正则回退与 undefined 分隔符 pjh123 2026-06-29 00:37:51 +08:00
  • 22aae05749 fix: Function .length/.name 补 writable:false、enumerable:false 描述符属性 pjh123 2026-06-29 00:05:41 +08:00
  • dce2f7a7f1 revert: 回退 test262 排除列表的 ES2023/ES2024 激进改动 pjh123 2026-06-28 23:40:26 +08:00
  • 0a95527002 test: test262 排除列表补 ES2023/ES2024 特性 pjh123 2026-06-28 23:29:33 +08:00
  • c5aaa7cdc5 perf: Array 只读方法全部支持 ArrayLike,skip 收窄为基础设施限制 pjh123 2026-06-28 21:39:00 +08:00
  • 5c7edbcc38 feat: 最小实现 Reflect.construct,test262 runner 加基础设施 skip 分类 pjh123 2026-06-28 19:33:36 +08:00
  • 45ecf8142e perf: forEach/map 支持 ArrayLike,新增 array_ptr_len3! 宏 pjh123 2026-06-28 18:35:02 +08:00
  • c7708729d3 perf: slice/join/concat 支持 ArrayLike pjh123 2026-06-28 18:32:22 +08:00
  • bcca489318 refactor: array_ptr_len! 宏为 ArrayLike 扩展做准备 pjh123 2026-06-28 18:28:16 +08:00
  • fab4b2d237 perf: indexOf/includes/lastIndexOf 支持 ArrayLike,补 .name/.length 属性 pjh123 2026-06-28 18:23:08 +08:00
  • d44c8f1f29 fix: 修复 QuickJS test262 缺失 esnext/harness 文件导致跑失败 pjh123 2026-06-28 16:05:34 +08:00
  • ec1fb65fd6 fix: 基准脚本移除失效 --results-file 参数、重排测试步骤 1-6 并加调试输出 pjh123 2026-06-28 01:41:49 +08:00
  • fdfbceb281 fix: 基准脚本 QuickJS 二进制/配置路径固定源码根目录 pjh123 2026-06-28 01:09:00 +08:00
  • 63c44b1ac5 fix: 对照引擎 test262 结果为空时基准计分防除零 pjh123 2026-06-28 00:54:04 +08:00
  • 42277b9206 test: 新增 benchmark 套件(test262 全量 + stress + 计时) pjh123 2026-06-28 00:47:08 +08:00
  • 414d064e89 Merge remote-tracking branch 'origin/main' pjh123 2026-06-30 04:30:31 +00:00
  • a986288766 docs: 设计方案文档对齐当前架构 + 补充 benchmark 与未来计划 pjh123 2026-06-30 12:16:09 +08:00
  • 59dead1b6e Merge remote-tracking branch 'origin/main' pjh123 2026-06-28 00:06:20 +08:00
  • b18654fe5f feat: Symbol.hasInstance 支持 instanceof 双路径分派 pjh123 2026-06-27 22:53:04 +08:00
  • dfdaeeaeaf fix: Number 静态方法 ToNumber 转换、格式化方法精度/边界修复、常量属性描述符 pjh123 2026-06-27 22:46:48 +08:00
  • 91d61d2ff9 feat: 实现 JSON.stringify replacer/space/toJSON/循环检测和 JSON.parse reviver pjh123 2026-06-27 22:41:51 +08:00
  • 52af0a7b29 fix: Date set(UTC)*/setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN pjh123 2026-06-27 21:49:00 +08:00
  • 8c8cff3aba fix: Date.prototype.setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN pjh123 2026-06-27 21:41:04 +08:00
  • 8d23c83ce2 fix: 对齐 ?? 与静态成员复合赋值的 counter/emitter 计数,并加 projected_pc 断言 pjh123 2026-06-27 21:07:16 +08:00
  • 03c9809c30 fix: 对齐 class 体 counter/emitter 指令条数,修私有方法、计算键、派生构造器字段注入位置的跳转漂移 pjh123 2026-06-27 20:50:12 +08:00
  • 3794ae3fd5 fix: 对齐 counter/emitter 指令条数,修解构参数、数组赋值元素、解构catch、for-init 无初始化的跳转漂移 pjh123 2026-06-27 20:32:33 +08:00
  • 365b0e58f6 fix: Error原型属性、规范toString、V8风格stack trace pjh123 2026-06-27 20:13:17 +08:00
  • 9063bc4a8c style: 自动格式化 pjh123 2026-06-27 19:45:26 +08:00
  • 0b3668d91a fix: 修复 String 原型方法边界条件 pjh123 2026-06-27 19:45:18 +08:00
  • 54e35bfeea fix: 解构赋值 rest 目标按 emitter 递归计数,修嵌套 rest 死循环 pjh123 2026-06-27 19:18:31 +08:00
  • a75748bff9 feat: Date 时区修复 + setUTC* 方法 + Date.UTC 实现 pjh123 2026-06-27 19:03:46 +08:00
  • e7a0d5aa16 feat: for-of 异常中断按规范关闭迭代器,next() 抛错可捕获并保留原始值 pjh123 2026-06-27 18:28:07 +08:00
  • 426be5fe5d style: 自动格式化 pjh123 2026-06-27 17:49:36 +08:00
  • 279255a821 feat: Map/Set 支持 for-of 迭代与 entries/values/keys(内部槽方式) pjh123 2026-06-27 17:49:19 +08:00
  • 749a1c7aec fix: defineProperty 纯属性描述符按 ES 规范默认创建 value=undefined,不再错误抛 TypeError pjh123 2026-06-27 17:23:50 +08:00
  • 9c4a169c33 fix: for-in 整数索引升序+字符串插入序枚举,null/undefined 空遍历 pjh123 2026-06-27 17:15:32 +08:00
  • 78f6b0b5d9 fix: delete 增加 configurable 检查,defineProperty 修复部分更新值覆盖,枚举排序增加整数索引优先和非枚举过滤 pjh123 2026-06-27 16:34:48 +08:00
  • b7b0b9c1da feat: 完成 Object/Array 原型方法修复 pjh123 2026-06-27 15:34:17 +08:00
  • e6a993cd37 feat: 修复 Array.slice 负数索引处理,新增 Array push/pop/shift/unshift/slice 边界测试 pjh123 2026-06-27 15:28:46 +08:00
  • 4f9c591a51 feat: 完成 Object.entries/values/is/getOwnPropertyDescriptor/hasOwnProperty/propertyIsEnumerable 修复 pjh123 2026-06-27 15:24:16 +08:00
  • dd18499f05 feat: 修复 Object.defineProperties/fromEntries 实现,getPrototypeOf/hasOwn/isExtensible 参数校验 pjh123 2026-06-27 15:17:37 +08:00
  • af2d11d197 feat: JsObject 新增 frozen/sealed 标志位,修复 freeze/seal/preventExtensions/isFrozen/isSealed/isExtensible 六个完整性方法 pjh123 2026-06-27 15:12:44 +08:00
  • b85df71019 feat: 新增 to_integer_or_infinity/to_length/same_value_zero 三个 ES 抽象操作辅助函数,修复 objects_keys/create/defineProperty/assign/getOwnPropertyNames 五个方法的 TypeError 处理 pjh123 2026-06-27 14:42:16 +08:00
  • 888d6e2b58 test: 添加类型转换基础设施的 coercion 测试覆盖 pjh123 2026-06-27 14:15:06 +08:00
  • 7ba5da9513 refactor: 用户数字参数改走 coerce_number_bounded,对象参数支持 ToPrimitive pjh123 2026-06-27 13:49:37 +08:00
  • 27b7e8ad29 refactor: 重写 abstract_eq 为 ES §7.2.15 11 步算法 pjh123 2026-06-27 13:23:35 +08:00
  • f23d75a63e feat: 实现 Object/Array 的 toString 与 valueOf pjh123 2026-06-27 13:22:45 +08:00
  • d387347f80 feat: ToPrimitive 链支持 Symbol.toPrimitive pjh123 2026-06-27 11:22:37 +08:00
  • 2da5e2f820 feat: 注册 Symbol.toPrimitive well-known symbol pjh123 2026-06-27 10:30:25 +08:00
  • d08ed7c3dd feat: CLI/test262 全管线接入结构化日志 pjh123 2026-06-27 09:39:08 +08:00
  • a1e241e97c Merge remote-tracking branch 'origin/main' pjh123 2026-06-27 01:20:10 +08:00
  • f2002d6bae feat: 为 Array/String 原型方法添加入口和错误路径结构化日志,编译器添加阶段边界日志 pjh123 2026-06-26 21:24:18 +08:00
  • fc59505116 feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志 pjh123 2026-06-26 21:09:36 +08:00
  • 3e7c082293 feat: 为 VM 添加结构化日志 pjh123 2026-06-26 20:50:05 +08:00
  • e4abfd7599 refactor: 迁出日志宏,移除直接依赖 pjh123 2026-06-26 18:53:48 +08:00
  • 1dae260646 feat: 封装日志基础设施 pjh123 2026-06-26 18:43:29 +08:00
  • b95824fc9c fix: 统一错误模型 pjh123 2026-06-26 16:52:14 +08:00
  • 59f6e4002a fix: 将同步原生调用参数限制错误消息对齐 ECMAScript 规范措辞 pjh123 2026-06-26 16:41:21 +08:00
  • f0f7cbc91c refactor: 将 BuiltinSnapshot 重构为数组并引入 BuiltinId 枚举 pjh123 2026-06-26 16:27:49 +08:00
  • d4fcdeec7b feat: 为 CodeForge 缓存命中添加 debug 字节码一致性验证 pjh123 2026-06-26 16:20:45 +08:00
  • 149daa6e4f feat: 为 ShapeForge 添加 shape_id 溢出 guard 及 HashMap 回退 pjh123 2026-06-26 16:16:17 +08:00
  • f23d4e61b2 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> pjh123 2026-06-25 22:38:23 +08:00
  • 2f330dbe45 refactor: Symbol/Iter/Profiling 子结构方法下沉,IC helper 完成提取 pjh123 2026-06-25 22:08:27 +08:00
  • 804a516e38 refactor: 完成语法域入口点迁移,收紧内部方法可见性 pjh123 2026-06-25 21:53:26 +08:00
  • f7bcfd3846 refactor: CompileCtx 拆分为 LabelCtx/ScopeCtx,字面量域改用注册表入口 pjh123 2026-06-25 19:46:35 +08:00
  • d195d7615c refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块 pjh123 2026-06-25 19:22:16 +08:00
  • 00c38ba5f9 feat: 迁移 NativeResult pjh123 2026-06-25 18:32:09 +08:00
  • 14f82d2c4d refactor: 用 define_opcodes! 宏统一生成 OpCode 枚举/TryFrom/Display pjh123 2026-06-25 18:12:37 +08:00
  • 1cab5bde65 perf: 不可变常量改 OnceLock 一次性缓存,删 Constant 死变体并移出 GC 根 pjh123 2026-06-25 14:32:49 +08:00
  • 63737ef74d feat: 增加 CreateRegExp 字节码,正则字面量每次执行创建新对象 pjh123 2026-06-25 10:28:35 +08:00
  • c378b92d1a feat: 增加 CreateClosure 字节码,函数字面量每次执行创建新闭包 pjh123 2026-06-25 10:16:32 +08:00
  • d7bc6a9b4e perf: 模块树改用 Arc 持有,消除同步调用路径深层模块克隆 pjh123 2026-06-24 22:52:25 +08:00
  • 12bfe551cf perf: 寄存器保存改用共享 save_stack,消除 Box<[JsValue]> 堆分配 pjh123 2026-06-24 22:20:34 +08:00
  • 967ac32378 feat: JsString 添加标记清除 GC pjh123 2026-06-24 21:15:31 +08:00
  • ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner pjh123 2026-06-24 20:15:15 +08:00