pjh123
|
cd9132fb14
|
perf: 数组迭代方法元素读取走密集直读快路径
|
2026-08-13 18:12:49 +08:00 |
|
pjh123
|
7f1374a5f1
|
perf: 数组整数键走独立 si 区间免字符串往返
|
2026-08-13 17:47:55 +08:00 |
|
pjh123
|
b7e9d18220
|
perf: 收紧字符串借用语义消除跨分配点 UB
|
2026-08-13 16:24:00 +08:00 |
|
pjh123
|
18a0732a91
|
perf: 属性键解析移出 IC 命中路径
|
2026-08-13 15:54:46 +08:00 |
|
pjh123
|
3ad80d6ed4
|
perf: new_string_owned 零拷贝路径替代 new_string 二次克隆
|
2026-08-13 14:55:08 +08:00 |
|
pjh123
|
d2c21c3a4a
|
perf: parse_js_number 去 lowercase 分配 + int32 位运算直取
|
2026-08-13 14:48:19 +08:00 |
|
pjh123
|
033ef9abea
|
perf: 算术运算 int 结果保 int + double 快路径
|
2026-08-13 14:44:24 +08:00 |
|
pjh123
|
f3d411120e
|
fix: accessor getter 调用异常经 raise_call_error 走 unwind(JS try/catch 可捕获,此前逃逸)
|
2026-08-12 17:55:58 +08:00 |
|
pjh123
|
df23fdff39
|
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 |
|
pjh123
|
0c22a0e968
|
fix: class 类名绑定经 dedicated cell 捕获(C===Cv 恒等)+ upvalue 写入 const guard(getter 赋值抛 TypeError)
|
2026-08-12 17:30:28 +08:00 |
|
pjh123
|
f2214ab95b
|
feat: Temporal.Duration.prototype.round(无日历单位路径:选项校验+24h 天舍入+按最大单位平衡,绑定注册)
|
2026-08-12 16:16:22 +08:00 |
|
pjh123
|
1563fdc845
|
feat: Temporal.Duration.prototype.add(分量精确求和+按最大单位平衡+范围校验,绑定注册);add 子集 32/0
|
2026-08-12 14:50:13 +08:00 |
|
pjh123
|
1a71e0b8d6
|
fix: Temporal 构造器补 length 自有属性(Instant/ZonedDateTime/PlainDate/PlainTime/Duration 按规范 arity)
|
2026-08-12 14:37:31 +08:00 |
|
pjh123
|
79346097ac
|
feat: Temporal.PlainDateTime.prototype.equals(实例/字符串/对象/ZDT 统一比较,绑定注册)
|
2026-08-12 14:27:25 +08:00 |
|
pjh123
|
f1b7a908f9
|
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 |
|
pjh123
|
e0d6a85261
|
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 |
|
pjh123
|
d4cd52ba90
|
fix: 数组 length 赋值 ArraySetLength 语义与超长逻辑长度(a.length 读取/收缩校验/空洞同步)
|
2026-08-12 12:52:02 +08:00 |
|
pjh123
|
62991cfa4b
|
feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象)
|
2026-08-12 12:50:53 +08:00 |
|
pjh123
|
e94bbc6c52
|
feat: BigInt 位运算按 ToNumeric 语义实现
|
2026-08-12 11:27:50 +08:00 |
|
pjh123
|
426ed0daa3
|
fix: 对象转原始值转换错误经内置函数传播
|
2026-08-12 11:27:40 +08:00 |
|
pjh123
|
af61dcf6fc
|
feat: ToPropertyKey 改走 ToPrimitive,Symbol 键与描述符,转换错误可捕获
|
2026-08-12 09:59:56 +08:00 |
|
pjh123
|
c287708ddc
|
feat: 补 entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with
|
2026-08-12 03:42:42 +08:00 |
|
pjh123
|
6bcd090b06
|
feat: 补 BigInt.prototype[Symbol.toStringTag] 数据属性
补 @@toStringTag 数据属性,writable:false、enumerable:false、configurable:true,
使 Object.prototype.toString 与属性描述符符合规范。剩余 built-ins/BigInt 的
Symbol.toStringTag.js verifyProperty 失败仍受 String(Symbol) 支持阻塞。
|
2026-08-12 03:41:22 +08:00 |
|
pjh123
|
1eadb5ac1b
|
fix: BigInt SUB/MUL 除 0n 不再误抛 Division by zero
binary_arith! 的 is_zero() 守卫无条件生效,x - 0n 与 x * 0n(含包装对象形式)
误抛 RangeError。仅 DIV/MOD 应拒绝 BigInt 零除数,SUB/MUL 正常计算。
test262 language/expressions/subtraction 由 29/6 通过提升到 30/5。
|
2026-08-12 03:30:03 +08:00 |
|
pjh123
|
1824ef0df1
|
feat: num-bigint 接入任意精度 BigInt(字面量、算术、toString、asIntN/asUintN)
|
2026-08-12 03:15:18 +08:00 |
|
pjh123
|
4474702735
|
fix: Object.prototype.toString 补 Math/JSON/Arguments 标签
|
2026-08-12 02:29:40 +08:00 |
|
pjh123
|
aa51d57660
|
feat: BigInt 构造器 ToPrimitive 语义、toString(radix)、asIntN/asUintN
|
2026-08-12 02:23:27 +08:00 |
|
pjh123
|
bbca9a5c3a
|
feat: PlainDateTime until/since 按规范舍入语义实现
|
2026-08-12 01:18:34 +08:00 |
|
pjh123
|
47733ae224
|
feat: PlainDateTime add/subtract 算术
|
2026-08-11 23:14:42 +08:00 |
|
pjh123
|
fbb3500129
|
feat: PlainDateTime toString 选项与 ISO 区间解析
|
2026-08-11 23:07:41 +08:00 |
|
pjh123
|
3cf2c792ba
|
feat: Temporal PlainDateTime 转换与序列化
|
2026-08-11 22:29:00 +08:00 |
|
pjh123
|
66712e05a5
|
feat: Temporal PlainDateTime 基础实现
|
2026-08-11 21:32:15 +08:00 |
|
pjh123
|
90a162d39a
|
feat: Temporal Instant 时区转换
|
2026-08-11 20:54:25 +08:00 |
|
pjh123
|
b982e964a7
|
feat: Temporal Instant 序列化
|
2026-08-11 19:14:24 +08:00 |
|
pjh123
|
59da42fea9
|
feat: Temporal Instant 差值实现
|
2026-08-11 18:22:21 +08:00 |
|
pjh123
|
e6d70664d3
|
fix: 模板表达式高位寄存器槽保留
|
2026-08-11 17:17:30 +08:00 |
|
pjh123
|
7ccedfb0b1
|
feat: Temporal Instant round 实现
|
2026-08-11 16:57:53 +08:00 |
|
pjh123
|
1d45a34973
|
fix: 闭包捕获解构函数参数
|
2026-08-11 16:57:13 +08:00 |
|
pjh123
|
abc794709e
|
feat: Temporal Instant 算术精确实现
|
2026-08-11 15:55:05 +08:00 |
|
pjh123
|
930bfa1ac9
|
feat: Temporal Instant 工厂精确实现
|
2026-08-11 15:21:28 +08:00 |
|
pjh123
|
33dae0a8c2
|
fix: 闭包捕获对象键与循环变量绑定
|
2026-08-11 14:17:45 +08:00 |
|
pjh123
|
0d75e901ff
|
fix: Temporal 时长输入校验
|
2026-08-11 13:11:51 +08:00 |
|
pjh123
|
b9686e000d
|
feat: Temporal 时长差值与纯日期差值
|
2026-08-11 12:38:31 +08:00 |
|
pjh123
|
b44bc3d7f2
|
feat: 新增 DEFINE_ACCESSOR_DYNAMIC opcode 支持计算键对象访问器
|
2026-08-10 23:28:18 +08:00 |
|
pjh123
|
078688070d
|
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
|
2026-08-10 23:02:31 +08:00 |
|
pjh123
|
9e26a13655
|
feat: Temporal 解锁 + PlainDate 补齐日期派生字段与 add/subtract/equals/compare
|
2026-08-10 21:23:00 +08:00 |
|
pjh123
|
a968b89658
|
fix: 异常兜底路径经 create_from_text 恢复错误类型(不塌缩普通 Error)
|
2026-08-10 20:19:51 +08:00 |
|
pjh123
|
dc6471f96e
|
fix: await 经 promise_resolve 按 constructor 查询包装被等待值
|
2026-08-10 20:00:52 +08:00 |
|
pjh123
|
924b8fd4e0
|
feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime)
|
2026-08-10 18:18:39 +08:00 |
|
pjh123
|
9fa8ae5b5f
|
perf: 字符串拼接按操作数字节长预分配容量,免几何 realloc 二次拷贝
|
2026-08-10 17:40:39 +08:00 |
|