pjh123
|
da75f3a214
|
perf: 字符串拼接用 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 |
|
pjh123
|
fab4b2d237
|
perf: indexOf/includes/lastIndexOf 支持 ArrayLike,补 .name/.length 属性
- Array indexOf/includes/lastIndexOf:ArrayLike 接收者 + fromIndex + SameValueZero
- Function.prototype 方法补 .length 属性,经 bind_method_static 绑定
- Error 对象补 .name 属性,经 create_kind_error 生成
- 构造器函数补 .name 与 .length,经 make_pair / bind_constructor! 绑定
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
b18654fe5f
|
feat: Symbol.hasInstance 支持 instanceof 双路径分派
|
2026-06-27 22:53:04 +08:00 |
|
pjh123
|
dfdaeeaeaf
|
fix: Number 静态方法 ToNumber 转换、格式化方法精度/边界修复、常量属性描述符
|
2026-06-27 22:46:48 +08:00 |
|
pjh123
|
91d61d2ff9
|
feat: 实现 JSON.stringify replacer/space/toJSON/循环检测和 JSON.parse reviver
|
2026-06-27 22:41:51 +08:00 |
|
pjh123
|
52af0a7b29
|
fix: Date set(UTC)*/setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
|
2026-06-27 21:49:00 +08:00 |
|
pjh123
|
8c8cff3aba
|
fix: Date.prototype.setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
|
2026-06-27 21:41:04 +08:00 |
|
pjh123
|
8d23c83ce2
|
fix: 对齐 ?? 与静态成员复合赋值的 counter/emitter 计数,并加 projected_pc 断言
|
2026-06-27 21:07:16 +08:00 |
|
pjh123
|
03c9809c30
|
fix: 对齐 class 体 counter/emitter 指令条数,修私有方法、计算键、派生构造器字段注入位置的跳转漂移
|
2026-06-27 20:50:12 +08:00 |
|
pjh123
|
3794ae3fd5
|
fix: 对齐 counter/emitter 指令条数,修解构参数、数组赋值元素、解构catch、for-init 无初始化的跳转漂移
|
2026-06-27 20:32:33 +08:00 |
|
pjh123
|
365b0e58f6
|
fix: Error原型属性、规范toString、V8风格stack trace
|
2026-06-27 20:13:17 +08:00 |
|
pjh123
|
0b3668d91a
|
fix: 修复 String 原型方法边界条件
|
2026-06-27 19:45:18 +08:00 |
|
pjh123
|
54e35bfeea
|
fix: 解构赋值 rest 目标按 emitter 递归计数,修嵌套 rest 死循环
|
2026-06-27 19:18:31 +08:00 |
|
pjh123
|
a75748bff9
|
feat: Date 时区修复 + setUTC* 方法 + Date.UTC 实现
|
2026-06-27 19:03:46 +08:00 |
|
pjh123
|
e7a0d5aa16
|
feat: for-of 异常中断按规范关闭迭代器,next() 抛错可捕获并保留原始值
|
2026-06-27 18:28:07 +08:00 |
|
pjh123
|
426be5fe5d
|
style: 自动格式化
|
2026-06-27 17:49:36 +08:00 |
|
pjh123
|
279255a821
|
feat: Map/Set 支持 for-of 迭代与 entries/values/keys(内部槽方式)
|
2026-06-27 17:49:19 +08:00 |
|
pjh123
|
749a1c7aec
|
fix: defineProperty 纯属性描述符按 ES 规范默认创建 value=undefined,不再错误抛 TypeError
|
2026-06-27 17:23:50 +08:00 |
|
pjh123
|
9c4a169c33
|
fix: for-in 整数索引升序+字符串插入序枚举,null/undefined 空遍历
|
2026-06-27 17:15:32 +08:00 |
|
pjh123
|
78f6b0b5d9
|
fix: delete 增加 configurable 检查,defineProperty 修复部分更新值覆盖,枚举排序增加整数索引优先和非枚举过滤
|
2026-06-27 16:34:48 +08:00 |
|
pjh123
|
888d6e2b58
|
test: 添加类型转换基础设施的 coercion 测试覆盖
|
2026-06-27 14:15:06 +08:00 |
|
pjh123
|
27b7e8ad29
|
refactor: 重写 abstract_eq 为 ES §7.2.15 11 步算法
|
2026-06-27 13:23:35 +08:00 |
|
pjh123
|
d387347f80
|
feat: ToPrimitive 链支持 Symbol.toPrimitive
|
2026-06-27 11:22:37 +08:00 |
|
pjh123
|
2da5e2f820
|
feat: 注册 Symbol.toPrimitive well-known symbol
|
2026-06-27 10:30:25 +08:00 |
|
pjh123
|
3e7c082293
|
feat: 为 VM 添加结构化日志
|
2026-06-26 20:50:05 +08:00 |
|
pjh123
|
e4abfd7599
|
refactor: 迁出日志宏,移除直接依赖
|
2026-06-26 18:53:48 +08:00 |
|
pjh123
|
b95824fc9c
|
fix: 统一错误模型
|
2026-06-26 16:52:14 +08:00 |
|
pjh123
|
59f6e4002a
|
fix: 将同步原生调用参数限制错误消息对齐 ECMAScript 规范措辞
|
2026-06-26 16:41:21 +08:00 |
|
pjh123
|
f23d4e61b2
|
feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>
|
2026-06-25 22:38:23 +08:00 |
|
pjh123
|
2f330dbe45
|
refactor: Symbol/Iter/Profiling 子结构方法下沉,IC helper 完成提取
|
2026-06-25 22:08:27 +08:00 |
|
pjh123
|
d195d7615c
|
refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块
|
2026-06-25 19:22:16 +08:00 |
|
pjh123
|
00c38ba5f9
|
feat: 迁移 NativeResult
|
2026-06-25 18:32:09 +08:00 |
|
pjh123
|
1cab5bde65
|
perf: 不可变常量改 OnceLock 一次性缓存,删 Constant 死变体并移出 GC 根
|
2026-06-25 14:32:49 +08:00 |
|
pjh123
|
63737ef74d
|
feat: 增加 CreateRegExp 字节码,正则字面量每次执行创建新对象
|
2026-06-25 10:28:35 +08:00 |
|
pjh123
|
c378b92d1a
|
feat: 增加 CreateClosure 字节码,函数字面量每次执行创建新闭包
|
2026-06-25 10:16:32 +08:00 |
|
pjh123
|
d7bc6a9b4e
|
perf: 模块树改用 Arc 持有,消除同步调用路径深层模块克隆
|
2026-06-24 22:52:25 +08:00 |
|
pjh123
|
12bfe551cf
|
perf: 寄存器保存改用共享 save_stack,消除 Box<[JsValue]> 堆分配
|
2026-06-24 22:20:34 +08:00 |
|
pjh123
|
967ac32378
|
feat: JsString 添加标记清除 GC
|
2026-06-24 21:15:31 +08:00 |
|
pjh123
|
ddffa8504e
|
refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner
|
2026-06-24 20:15:15 +08:00 |
|
pjh123
|
9a62cf1610
|
perf: for_each_root 迭代器替代 gc_roots,复用 Vec DFS mark 栈消除每轮 GC 堆分配
|
2026-06-24 19:01:51 +08:00 |
|
pjh123
|
c0f16dc764
|
fix: promote 复用 Vm.forwarding,消除 promote 的 HashMap 分配
|
2026-06-24 16:08:17 +08:00 |
|
pjh123
|
94405f50d7
|
refactor: 移除代码注释中的文档内部编号引用
|
2026-06-24 16:03:53 +08:00 |
|
pjh123
|
4535f70f80
|
fix: GC sweep 复用 Vm.forwarding,消除每轮 HashMap 分配
|
2026-06-24 15:59:55 +08:00 |
|
pjh123
|
f0da49a54c
|
fix: GC eprintln! 改为 vm_debug!,release 下零 stderr
|
2026-06-24 15:47:35 +08:00 |
|
pjh123
|
1815958b11
|
refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动
|
2026-06-24 12:12:44 +08:00 |
|
pjh123
|
cdd709ef03
|
feat: 添加基准测试基础设施
|
2026-06-24 10:46:59 +08:00 |
|
pjh123
|
3ea2353194
|
feat: 实现 SequenceExpression + 带标签 break/continue + EmptyStatement
|
2026-06-23 23:00:20 +08:00 |
|
pjh123
|
5de79b4253
|
feat: 实现 new String 装箱构造 + String.prototype.toString,补齐 boxed primitives
|
2026-06-23 22:33:37 +08:00 |
|
pjh123
|
be87e4e21b
|
refactor: 拆分 bytecode/cache crate 并模块化 counter
|
2026-06-23 17:06:39 +08:00 |
|
pjh123
|
ba5e095a83
|
fix: 封装字节码计数并修复 for-of 解构偏移
|
2026-06-23 16:21:39 +08:00 |
|