pjh123
|
930b14b3f0
|
fix: count pass 注册顶层 var 名,hoisted 函数声明可解析外层 var
|
2026-06-30 16:37:50 +08:00 |
|
pjh123
|
a34c289d47
|
fix: native 调用保存/恢复 this 寄存器,避免方法内调用后 this 被 callee 覆盖
|
2026-06-30 16:12:42 +08:00 |
|
pjh123
|
ccc527af71
|
fix: 顶层 count pass 镜像 emit 的函数提升顺序,消除跳转目标漂移导致的死循环
|
2026-06-30 16:01:00 +08:00 |
|
pjh123
|
6dd58e471f
|
feat: Reflect.construct 实现正确 construct 语义
|
2026-06-30 15:47:05 +08:00 |
|
pjh123
|
c720481ae5
|
fix: error 实例不再设 own name 属性,name 由原型提供
|
2026-06-30 15:46:43 +08:00 |
|
pjh123
|
d926d1093b
|
fix: 修复最新版 clippy 告警
|
2026-06-30 15:23:11 +08:00 |
|
pjh123
|
d5c292d33f
|
style: 修复 clippy --all-targets 告警
|
2026-06-30 15:18:13 +08:00 |
|
pjh123
|
9f3e353f56
|
style: 自动格式化
|
2026-06-30 15:11:11 +08:00 |
|
pjh123
|
e4a46c31bf
|
feat: run --repeat N 支持单进程内多次 eval 复用 Kernel
OxideJS 架构优势: 一个 Kernel + VmPool 跑 N 次 eval,
arena 每轮 O(1) reset, 内存稳定不增长
(cherry picked from commit 05d0c25aba419fa31e22b8bc325cc4b08de6c403)
|
2026-06-30 12:42:57 +08:00 |
|
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
|
15c1b81aa7
|
perf: String.replace 补正则回退,runner 接收者不匹配错误 skip 放宽
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
a2209b9cb8
|
perf: runner 移除 noStrict 与 Promise/dstr 路径 skip,bind 改抛规范 TypeError
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
83ff63170d
|
test: 排除列表收窄至 11 个未实现特性,运行时限制改按类 skip
排除元数据收窄到仅 11 个真正未实现的特性;运行时基础设施限制
改为按类 skip:未实现、寄存器溢出、null 属性访问、方法绑定、ToPrimitive 等;
规范偏差仍计 fail。
性能无回退:array 116ms、string 475ms。
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
046119c22c
|
fix: as_string 改走 to_string_full,split 补正则回退与 undefined 分隔符
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
22aae05749
|
fix: Function .length/.name 补 writable:false、enumerable:false 描述符属性
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
dce2f7a7f1
|
revert: 回退 test262 排除列表的 ES2023/ES2024 激进改动
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
0a95527002
|
test: test262 排除列表补 ES2023/ES2024 特性
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
c5aaa7cdc5
|
perf: Array 只读方法全部支持 ArrayLike,skip 收窄为基础设施限制
ArrayLike 支持扩展到全部 17 个只读 Array 方法;
get_this_arraylike/arraylike_get 内联实现零开销;
skip 收窄:仅保留基础设施限制类。
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
5c7edbcc38
|
feat: 最小实现 Reflect.construct,test262 runner 加基础设施 skip 分类
Reflect.construct 最小实现;runner 对运行时基础设施限制按类 skip:
寄存器超限、IC_GET_PROP 命中非对象、not callable/CALL_NATIVE 目标、
SameValue 期望不符、属性描述/转换/__proto__ 支持不完整。
性能无回退:array 164ms、string 560ms。
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
45ecf8142e
|
perf: forEach/map 支持 ArrayLike,新增 array_ptr_len3! 宏
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
c7708729d3
|
perf: slice/join/concat 支持 ArrayLike
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
bcca489318
|
refactor: array_ptr_len! 宏为 ArrayLike 扩展做准备
|
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
|
9063bc4a8c
|
style: 自动格式化
|
2026-06-27 19:45:26 +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
|
b7b0b9c1da
|
feat: 完成 Object/Array 原型方法修复
|
2026-06-27 15:34:17 +08:00 |
|
pjh123
|
e6a993cd37
|
feat: 修复 Array.slice 负数索引处理,新增 Array push/pop/shift/unshift/slice 边界测试
|
2026-06-27 15:28:46 +08:00 |
|
pjh123
|
4f9c591a51
|
feat: 完成 Object.entries/values/is/getOwnPropertyDescriptor/hasOwnProperty/propertyIsEnumerable 修复
|
2026-06-27 15:24:16 +08:00 |
|
pjh123
|
dd18499f05
|
feat: 修复 Object.defineProperties/fromEntries 实现,getPrototypeOf/hasOwn/isExtensible 参数校验
|
2026-06-27 15:17:37 +08:00 |
|
pjh123
|
af2d11d197
|
feat: JsObject 新增 frozen/sealed 标志位,修复 freeze/seal/preventExtensions/isFrozen/isSealed/isExtensible 六个完整性方法
|
2026-06-27 15:12:44 +08:00 |
|
pjh123
|
b85df71019
|
feat: 新增 to_integer_or_infinity/to_length/same_value_zero 三个 ES 抽象操作辅助函数,修复 objects_keys/create/defineProperty/assign/getOwnPropertyNames 五个方法的 TypeError 处理
|
2026-06-27 14:42:16 +08:00 |
|
pjh123
|
888d6e2b58
|
test: 添加类型转换基础设施的 coercion 测试覆盖
|
2026-06-27 14:15:06 +08:00 |
|
pjh123
|
7ba5da9513
|
refactor: 用户数字参数改走 coerce_number_bounded,对象参数支持 ToPrimitive
|
2026-06-27 13:49:37 +08:00 |
|