Commit Graph

223 Commits

Author SHA1 Message Date
爱特每羊队 5feba7c20d style: 修复 clippy --all-targets 告警 2026-06-30 15:18:13 +08:00
爱特每羊队 5ecb428320 perf(vm): 字符串拼接用 push_to_string 消去中间分配, GC阈值 8M→32M
- oxide_runtime_api 新增 push_to_string: 直接将 JsValue 写入 String buffer
- dispatch_add / dispatch_compound_add 复用 Vm::string_buf, 每次concat从4次分配降到1次
- vm_support 新增 new_string_owned 接受 String 转移所有权
- kernel session_gc_threshold 8MB→32MB 减少频繁 GC
- build.sh: make clean 清跨平台 .obj 残留

(cherry picked from commit ad7b044a5a24b23819d783c5419d3e33f936dfc5)
2026-06-30 12:42:57 +08:00
爱特每羊队 05f1056cde perf(test262): +2.4% pass rate via Function .name/.length and ArrayLike support
- Array indexOf/includes/lastIndexOf: ArrayLike receiver + fromIndex + SameValueZero
- Function.prototype methods: add .length property via bind_method_static
- Error objects: add .name property via create_kind_error
- Constructor functions: add .name via make_pair + .length via bind_constructor!
- test262: 8497→9009 pass (+512), 38.3%→40.7% rate

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit af61949e6cab1b149a13e571e29bacc4267d5690)
2026-06-30 12:42:57 +08:00
爱特每羊队 9da0ded18d feat: Symbol.hasInstance 支持 instanceof 双路径分派 2026-06-27 22:53:04 +08:00
爱特每羊队 db8aa7025e fix: Number 静态方法 ToNumber 转换、格式化方法精度/边界修复、常量属性描述符 2026-06-27 22:46:48 +08:00
爱特每羊队 14dc4d04c6 feat: 实现 JSON.stringify replacer/space/toJSON/循环检测和 JSON.parse reviver 2026-06-27 22:41:51 +08:00
爱特每羊队 17fbf16f7e fix: Date set(UTC)*/setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN 2026-06-27 21:49:00 +08:00
爱特每羊队 86e9d6d1b0 fix: Date.prototype.setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN 2026-06-27 21:41:04 +08:00
爱特每羊队 6a77742dad fix: 对齐 ?? 与静态成员复合赋值的 counter/emitter 计数,并加 projected_pc 断言 2026-06-27 21:07:16 +08:00
爱特每羊队 6d52c467e7 fix: 对齐 class 体 counter/emitter 指令条数,修私有方法、计算键、派生构造器字段注入位置的跳转漂移 2026-06-27 20:50:12 +08:00
爱特每羊队 242e94af09 fix: 对齐 counter/emitter 指令条数,修解构参数、数组赋值元素、解构catch、for-init 无初始化的跳转漂移 2026-06-27 20:32:33 +08:00
爱特每羊队 3c92f8368c fix: Error原型属性、规范toString、V8风格stack trace 2026-06-27 20:13:17 +08:00
爱特每羊队 f9297097bf fix: 修复 String 原型方法边界条件 2026-06-27 19:45:18 +08:00
爱特每羊队 a1993e617d fix: 解构赋值 rest 目标按 emitter 递归计数,修嵌套 rest 死循环 2026-06-27 19:18:31 +08:00
爱特每羊队 a502782d04 feat: Date 时区修复 + setUTC* 方法 + Date.UTC 实现 2026-06-27 19:03:46 +08:00
爱特每羊队 11d69ea95c feat: for-of 异常中断按规范关闭迭代器,next() 抛错可捕获并保留原始值 2026-06-27 18:28:07 +08:00
爱特每羊队 09a9d3dfd2 style: 自动格式化 2026-06-27 17:49:36 +08:00
爱特每羊队 a78056f2ff feat: Map/Set 支持 for-of 迭代与 entries/values/keys(内部槽方式) 2026-06-27 17:49:19 +08:00
爱特每羊队 19bc8e64a4 fix: defineProperty 纯属性描述符按 ES 规范默认创建 value=undefined,不再错误抛 TypeError 2026-06-27 17:23:50 +08:00
爱特每羊队 ec380802a8 fix: for-in 整数索引升序+字符串插入序枚举,null/undefined 空遍历 2026-06-27 17:15:32 +08:00
爱特每羊队 6e74881cde fix: delete 增加 configurable 检查,defineProperty 修复部分更新值覆盖,枚举排序增加整数索引优先和非枚举过滤 2026-06-27 16:34:48 +08:00
爱特每羊队 78ecac5911 test: 添加类型转换基础设施的 coercion 测试覆盖 2026-06-27 14:15:06 +08:00
爱特每羊队 32000b6661 refactor: 重写 abstract_eq 为 ES §7.2.15 11 步算法 2026-06-27 13:23:35 +08:00
爱特每羊队 040e2ee6b1 feat: ToPrimitive 链支持 Symbol.toPrimitive 2026-06-27 11:22:37 +08:00
爱特每羊队 6f1337c223 feat: 注册 Symbol.toPrimitive well-known symbol 2026-06-27 10:30:25 +08:00
爱特每羊队 b986a8f229 feat: 为 VM 添加结构化日志 2026-06-26 20:50:05 +08:00
爱特每羊队 e730d0fd2d refactor: 迁出日志宏,移除直接依赖 2026-06-26 18:53:48 +08:00
爱特每羊队 d1f7201f52 fix: 统一错误模型 2026-06-26 16:52:14 +08:00
爱特每羊队 417368dd5f fix: 将同步原生调用参数限制错误消息对齐 ECMAScript 规范措辞 2026-06-26 16:41:21 +08:00
爱特每羊队 2f5d91bd48 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> 2026-06-25 22:38:23 +08:00
爱特每羊队 ffc0916a6b refactor: Symbol/Iter/Profiling 子结构方法下沉,IC helper 完成提取 2026-06-25 22:08:27 +08:00
爱特每羊队 bb3f1cf0e9 refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块 2026-06-25 19:22:16 +08:00
爱特每羊队 2c8f85d5a9 feat: 迁移 NativeResult 2026-06-25 18:32:09 +08:00
爱特每羊队 06f769c4e0 perf: 不可变常量改 OnceLock 一次性缓存,删 Constant 死变体并移出 GC 根 2026-06-25 14:32:49 +08:00
爱特每羊队 1ef8349208 feat: 增加 CreateRegExp 字节码,正则字面量每次执行创建新对象 2026-06-25 10:28:35 +08:00
爱特每羊队 5007e7af7c feat: 增加 CreateClosure 字节码,函数字面量每次执行创建新闭包 2026-06-25 10:16:32 +08:00
爱特每羊队 12f66ae675 perf: 模块树改用 Arc 持有,消除同步调用路径深层模块克隆 2026-06-24 22:52:25 +08:00
爱特每羊队 33c0596c81 perf: 寄存器保存改用共享 save_stack,消除 Box<[JsValue]> 堆分配 2026-06-24 22:20:34 +08:00
爱特每羊队 fe2d4929f5 feat: JsString 添加标记清除 GC 2026-06-24 21:15:31 +08:00
爱特每羊队 466a0815ca refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
爱特每羊队 0de33f1a16 perf: for_each_root 迭代器替代 gc_roots,复用 Vec DFS mark 栈消除每轮 GC 堆分配 2026-06-24 19:01:51 +08:00
爱特每羊队 7a700430dc fix: promote 复用 Vm.forwarding,消除 promote 的 HashMap 分配 2026-06-24 16:08:17 +08:00
爱特每羊队 38657d2171 refactor: 移除代码注释中的文档内部编号引用 2026-06-24 16:03:53 +08:00
爱特每羊队 41c2b9cba9 fix: GC sweep 复用 Vm.forwarding,消除每轮 HashMap 分配 2026-06-24 15:59:55 +08:00
爱特每羊队 423cd3e56b fix: GC eprintln! 改为 vm_debug!,release 下零 stderr 2026-06-24 15:47:35 +08:00
爱特每羊队 6bf5daa1af refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动 2026-06-24 12:12:44 +08:00
爱特每羊队 f602ae5f00 feat: 添加基准测试基础设施 2026-06-24 10:46:59 +08:00
爱特每羊队 9d43314242 feat: 实现 SequenceExpression + 带标签 break/continue + EmptyStatement 2026-06-23 23:00:20 +08:00
爱特每羊队 9a36d76544 feat: 实现 new String 装箱构造 + String.prototype.toString,补齐 boxed primitives 2026-06-23 22:33:37 +08:00
爱特每羊队 dbc15f6d1f refactor: 拆分 bytecode/cache crate 并模块化 counter 2026-06-23 17:06:39 +08:00