pjh123
12ebdb8c0e
perf: 对象字面量批量构造键序预建 shape
2026-08-14 04:47:15 +08:00
pjh123
4245074d97
perf: 原生回调寄存器保存改前缀窗口减少搬移
2026-08-13 21:32:34 +08:00
pjh123
fccf2063f1
perf: 数组回调字节码调用改寄存器窗口复用减少搬移
2026-08-13 20:11:09 +08:00
pjh123
1ea9c76ab4
perf: 数组迭代方法元素读取走密集直读快路径
2026-08-13 18:12:49 +08:00
pjh123
2c62830a1d
perf: 数组整数键走独立 si 区间免字符串往返
2026-08-13 17:47:55 +08:00
pjh123
e62bc54f08
perf: 收紧字符串借用语义消除跨分配点 UB
2026-08-13 16:24:00 +08:00
pjh123
352f3359cd
perf: 属性键解析移出 IC 命中路径
2026-08-13 15:54:46 +08:00
pjh123
3ae2f2d9b7
perf: new_string_owned 零拷贝路径替代 new_string 二次克隆(B2)
2026-08-13 14:55:08 +08:00
pjh123
5513f0e2fb
perf: parse_js_number 去 lowercase 分配 + int32 位运算直取(B2/B6)
2026-08-13 14:48:19 +08:00
pjh123
f874850bf7
perf: 算术运算 int 结果保 int + double 快路径(B1/B3)
2026-08-13 14:44:24 +08:00
爱特每羊队
f8a4bacfec
fix: accessor getter 调用异常经 raise_call_error 走 unwind(JS try/catch 可捕获,此前逃逸)
2026-08-12 17:55:58 +08:00
爱特每羊队
4303462d19
feat: compiler/test262 runner 接线 + 模块顶层 this 绑定
...
- Compiler::compile_module:Emitter::emit_program_module → 统一 IR 管线(DCE/regalloc/lower/flatten)
- CompiledModule.is_es_module:VM run 时模块顶层 this=undefined(脚本仍为全局对象)
- 全局注册 __moduleLinkGet
- test262 runner:Test262ModuleLoader(相对路径解析 + import attributes 判定 json/text/bytes),is_module 走 compile_module
2026-08-12 17:37:33 +08:00
爱特每羊队
86a20fa1fe
fix: class 类名绑定经 dedicated cell 捕获(C===Cv 恒等)+ upvalue 写入 const guard(getter 赋值抛 TypeError)
2026-08-12 17:30:28 +08:00
爱特每羊队
5e38623fee
feat: Temporal.Duration.prototype.round(无日历单位路径:选项校验+24h 天舍入+按最大单位平衡,绑定注册)
2026-08-12 16:16:22 +08:00
爱特每羊队
ad547d5cd8
feat: Temporal.Duration.prototype.add(分量精确求和+按最大单位平衡+范围校验,绑定注册);add 子集 32/0
2026-08-12 14:50:13 +08:00
爱特每羊队
fe79eff172
fix: Temporal 构造器补 length 自有属性(Instant/ZonedDateTime/PlainDate/PlainTime/Duration 按规范 arity)
2026-08-12 14:37:31 +08:00
爱特每羊队
0cd98084da
feat: Temporal.PlainDateTime.prototype.equals(实例/字符串/对象/ZDT 统一比较,绑定注册)
2026-08-12 14:27:25 +08:00
爱特每羊队
1a4663dcab
fix: class 方法/访问器/constructor/prototype 属性描述符(非枚举/只读),新增 DEFINE_PROP_ATTRS/DEFINE_ACCESSOR_ATTRS
...
- opcode.rs/inst.rs/contract.rs/vm.rs/vm_dispatch_ctrl.rs:新增两个带 attrs 扩展字的 define 指令
(attrs bit0=writable, bit1=enumerable, bit2=configurable,与 PropAttributes 一致)
- class/method.rs:方法与非计算访问器改按规范非枚举安装(DefineMethod 语义)
- class/prototype.rs:proto.constructor 非枚举;ctor.prototype 三标志全 false(MakeConstructor)
- 效果:language/statements/class 1782 pass/948 fail -> 1910 pass/716 fail(+128/-232)
2026-08-12 14:11:02 +08:00
爱特每羊队
cc78e6b28f
fix: ArraySetLength 收缩遇不可配置元素静默失败、ToPrimitive 异常透传与既有属性描述符缺省回填
...
- arr.length 收缩时若 [newLen, oldLen) 内存在不可配置元素,整个收缩失败且不做任何修改(sloppy 赋值静默 no-op),不再抛错或截断
- length 赋值 ToPrimitive(valueOf/toString)抛错时按主 dispatch 约定直接返回,避免二次抛 RangeError 覆盖原异常(S15.4.5.1_A1.3_T2)
- Object.defineProperty/defineProperties/create 对已有属性省略描述符字段时保持现有属性值(无显式 meta 按 DEFAULT_DATA 回填),修复 toReversed/toSorted/toSpliced/with length-decreased-while-iterating
2026-08-12 13:07:32 +08:00
爱特每羊队
dc023b2637
fix: 数组 length 赋值 ArraySetLength 语义与超长逻辑长度(a.length 读取/收缩校验/空洞同步)
2026-08-12 12:52:02 +08:00
爱特每羊队
3e61b573db
feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象)
2026-08-12 12:50:53 +08:00
爱特每羊队
291250f3e6
feat: BigInt bitwise operators with ToNumeric semantics
2026-08-12 11:27:50 +08:00
爱特每羊队
ee9a9e12b8
fix: object-to-primitive conversion errors propagate through native builtins
2026-08-12 11:27:40 +08:00
爱特每羊队
c4fda0f883
engine: ToPropertyKey via ToPrimitive, Symbol keys/description, catchable conversion errors
2026-08-12 09:59:56 +08:00
爱特每羊队
18eb6ef8ab
feat: add Array entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with
2026-08-12 03:42:42 +08:00
爱特每羊队
998327aa7e
feat: BigInt.prototype[Symbol.toStringTag] = "BigInt"
...
Adds the well-known @@toStringTag data property (writable:false,
enumerable:false, configurable:true) so Object.prototype.toString and
property descriptors match the spec. Remaining built-ins/BigInt failure
(Symbol.toStringTag.js verifyProperty) is blocked on String(Symbol)
support in the Symbol track.
2026-08-12 03:41:22 +08:00
爱特每羊队
b844505ec7
fix: BigInt SUB/MUL with 0n no longer raise Division by zero
...
binary_arith! applied an unconditional is_zero() guard, so x - 0n and
x * 0n (and wrapped-object variants) incorrectly threw RangeError.
Only DIV/MOD legitimately reject BigInt zero divisors; SUB/MUL must
compute normally. test262 language/expressions/subtraction:
29/6 -> 30/5 (bigint-arithmetic now passes).
2026-08-12 03:30:03 +08:00
爱特每羊队
f3c37911f7
feat: arbitrary-precision BigInt via num-bigint (literals, arithmetic, toString, asIntN/asUintN)
2026-08-12 03:15:18 +08:00
爱特每羊队
ca293a57e9
fix: Object.prototype.toString tags for Math/JSON/Arguments
2026-08-12 02:29:40 +08:00
爱特每羊队
28477a3e47
feat: BigInt constructor ToPrimitive semantics, toString(radix), asIntN/asUintN; ctor [[Prototype]]=Function.prototype
2026-08-12 02:23:27 +08:00
爱特每羊队
6afeaafb54
feat: implement PlainDateTime until/since with spec rounding semantics
2026-08-12 01:18:34 +08:00
爱特每羊队
ed8c76c60f
feat: implement PlainDateTime add/subtract arithmetic
2026-08-11 23:14:42 +08:00
爱特每羊队
d1d85ffe4f
feat: implement PlainDateTime toString options and ISO range parsing
2026-08-11 23:07:41 +08:00
爱特每羊队
ed90ebd4e4
feat: implement Temporal PlainDateTime conversion and serialization
2026-08-11 22:29:00 +08:00
爱特每羊队
e6627b02f1
feat: implement Temporal PlainDateTime foundation
2026-08-11 21:32:15 +08:00
爱特每羊队
5ec0dc2b7d
feat: implement Temporal Instant zoned conversion
2026-08-11 20:54:25 +08:00
爱特每羊队
a9e194f2c6
feat: implement Temporal Instant serialization
2026-08-11 19:14:24 +08:00
爱特每羊队
6b00eaaf06
feat: implement Temporal Instant differences
2026-08-11 18:22:21 +08:00
爱特每羊队
67c6d3a53a
fix: preserve high template expression registers
2026-08-11 17:17:30 +08:00
爱特每羊队
e049a8df5d
feat: implement Temporal Instant round
2026-08-11 16:57:53 +08:00
爱特每羊队
3839e18c0f
fix: capture destructured function parameters
2026-08-11 16:57:13 +08:00
爱特每羊队
756d6b8e1b
feat: implement precise Temporal Instant arithmetic
2026-08-11 15:55:05 +08:00
爱特每羊队
4c42112c51
feat: implement precise Temporal Instant factories
2026-08-11 15:21:28 +08:00
爱特每羊队
ec2efa7b6b
fix: capture object keys and scope loop bindings
2026-08-11 14:17:45 +08:00
爱特每羊队
925ca358e9
fix: validate Temporal duration inputs
2026-08-11 13:11:51 +08:00
爱特每羊队
d7a63a0d54
feat: implement Temporal duration and plain date differences
2026-08-11 12:38:31 +08:00
爱特每羊队
51da7ed3d9
feat: 新增 DEFINE_ACCESSOR_DYNAMIC opcode 支持计算键对象访问器
2026-08-10 23:28:18 +08:00
爱特每羊队
7e3d7b43b5
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
2026-08-10 23:02:31 +08:00
爱特每羊队
46b60ff003
feat: Temporal 解锁 + PlainDate 补齐日期派生字段与 add/subtract/equals/compare
2026-08-10 21:23:00 +08:00
爱特每羊队
717e927057
fix: 异常兜底路径经 create_from_text 恢复错误类型(不塌缩普通 Error)
2026-08-10 20:19:51 +08:00