pjh123
|
2bebd822d0
|
feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness)
|
2026-08-09 12:26:31 +08:00 |
|
pjh123
|
6c79dbb21c
|
feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复)
|
2026-08-09 11:08:36 +08:00 |
|
pjh123
|
5611d90ad0
|
feat: with 语句、成员位/移位复合赋值、CALL_NATIVE 无目标修复
with 语句:新增 emit 支持,with 体内自由标识符动态解析(对象属性优先,
回退外层),支持读/写/复合赋值/自增自减/delete/var 初始化动态化,
TO_OBJECT opcode 处理原始值对象,顶层 this 绑定全局对象。
复合赋值:新增 6 个 COMPOUND_MEMBER_BIT_* opcode 支持成员位/移位复合赋值,
修复 computed member 复合赋值覆盖 bug,with 内标识符复合赋值动态化。
CALL_NATIVE:实现全局 isNaN/isFinite 并绑定,用户覆盖 builtin 名时
回退通用调用路径而非报错,局部遮蔽 builtin 名走普通 CALL。
test262: with 34 pass(基线 0),compound-assignment 320 pass(基线 223)
|
2026-08-09 07:22:46 +08:00 |
|
pjh123
|
826d9fd0a2
|
feat: RegExp.prototype 实现 Symbol.match/replace/search/split/matchAll
|
2026-08-08 22:33:32 +08:00 |
|
pjh123
|
7db0583802
|
fix: String replace/replaceAll 函数 replacer 路径(含 global 全替换)
|
2026-08-08 22:05:23 +08:00 |
|
pjh123
|
9e3be30fe8
|
fix: TypedArray 元素写入进 buffer + BYTES_PER_ELEMENT 属性
|
2026-08-08 21:41:33 +08:00 |
|
pjh123
|
8744a15e68
|
feat: Object.create/defineProperties 完整描述符管线(复用 ToPropertyDescriptor)
|
2026-08-08 20:59:47 +08:00 |
|
pjh123
|
32c0474959
|
fix: Number::toString 符合 ECMA-262(1e21 指数、radix RangeError、parseInt/Number 字符串解析)
|
2026-08-08 20:39:55 +08:00 |
|
pjh123
|
71c9f78338
|
feat: 补 String.fromCodePoint/codePointAt/isWellFormed/toWellFormed
|
2026-08-08 20:05:49 +08:00 |
|
pjh123
|
dc6eed44f8
|
fix: RegExp flag 全量透传(u/s/y/d 生效,\p{...} unicode 属性可用)
|
2026-08-08 18:05:59 +08:00 |
|
pjh123
|
7a559978f0
|
feat: Set/Map 构造器接收可迭代实参 + size 访问器 + ES2024 set-methods
|
2026-08-08 18:01:00 +08:00 |
|
pjh123
|
0bc8c847b5
|
feat: 实现 Array.from 与 Array.of 静态方法
- Array.from:可迭代(迭代协议)与 array-like 双路径,支持 mapFn/thisArg,
构造器 this 支持(new C),CreateDataPropertyOrThrow 写入,IteratorClose
- Array.of:以参数为元素,this 构造器 + CreateDataProperty + Set length
- iterator.rs:get_iterator 改为 Option 返回,新增 try_make_iterator 与
peek_iterator_method(GetMethod 只读判定,不调用迭代器)
|
2026-08-08 13:13:08 +08:00 |
|
pjh123
|
6c29515624
|
feat: 对象字面量 spread({...obj} 展开可枚举自有属性)
|
2026-08-08 11:24:09 +08:00 |
|
pjh123
|
8354befb63
|
feat: 数组字面量 spread([...a] 展开为 for-of 追加)
|
2026-08-08 09:29:37 +08:00 |
|
pjh123
|
d186c4d9f2
|
feat: Function 构造器(动态编译字符串生成函数)
|
2026-08-08 03:07:26 +08:00 |
|
pjh123
|
0b68baa802
|
fix: delete 真正删除属性(shape 链重建 + 数组元素 hole 标记)
字节码 delete 原先只清值为 undefined,属性残留在 shape 链,hasOwnProperty/
keys/枚举仍可见。统一走共享 delete_own_property(与 Reflect.deleteProperty
一致):
- 命名属性经 shape 链重建移除,数组重建前保存并恢复元素区
- 数组下标元素标记为 hole(PropMetaEntry.hole),length 不变,
存在性检查(resolve_property/get_own_property_slot/ordinary_get/for-in)
判 hole,重赋值自动清除标记
- 不可配置属性统一返回 false(sloppy 语义,strict 抛错留待 emit 追踪严格模式)
- set_or_create_prop_value 数组下标键路由元素区,修复 delete 后重赋值误入
shape 链
test262 Object +212 PASS/-102 FAIL,Array +149 PASS/-60 FAIL,无回归。
|
2026-08-08 02:25:13 +08:00 |
|
pjh123
|
8f5446aa8a
|
fix: defineProperty 描述符字段按 ToPropertyDescriptor 语义解析(原型链 + accessor getter)
|
2026-08-08 01:39:12 +08:00 |
|
pjh123
|
7e11a4d2b4
|
fix: defineProperty 内部错误不触发 unwind + enumerable/configurable 缺省回填
|
2026-08-08 01:18:21 +08:00 |
|
pjh123
|
88e11748ff
|
fix: Error 家族构造器可构造标志 + 数组回调异常透传原始对象
|
2026-08-08 00:19:05 +08:00 |
|
pjh123
|
53945a0914
|
fix: Object.prototype.toString 类型标签([object Array] 等)+ array_push 维护数组元素数
|
2026-08-07 22:06:09 +08:00 |
|
pjh123
|
31542a2576
|
fix: 数组属性存储机制(array_prop_count 显式元素数 + shape 属性偏移 + IC/prop_forge 对齐)
|
2026-08-07 21:53:45 +08:00 |
|
pjh123
|
db04bc25c9
|
feat: 迁移到 regress 引擎(backref/lookaround/命名组/v-flag)+ 手动 \$ 展开 replace + exec 捕获组数组
|
2026-08-07 21:29:22 +08:00 |
|
pjh123
|
0df0c2cb98
|
fix: native 构造器可构造性标志(OBJ_TYPE_CONSTRUCTOR)+ Reflect.construct/new 校验
|
2026-08-07 20:44:04 +08:00 |
|
pjh123
|
a03c957272
|
fix: String.prototype 方法 null/undefined this 抛 TypeError
|
2026-08-07 19:57:24 +08:00 |
|
pjh123
|
265fb6adbf
|
fix: Object() 对原始值创建 boxed 对象 + String 方法 this 完整转换
|
2026-08-07 19:52:35 +08:00 |
|
pjh123
|
1ebf2c3115
|
fix: String() 对象参数走 ToString 完整转换(数组→join 等)
|
2026-08-07 19:39:18 +08:00 |
|
pjh123
|
e6886eb1d0
|
feat: 实现整数索引读取与 for-of 迭代(get_iterator 支持)
|
2026-08-07 18:10:19 +08:00 |
|
pjh123
|
192b697335
|
fix: 数组元素访问器属性触发 getter 并透传异常
|
2026-08-07 15:05:44 +08:00 |
|
pjh123
|
91528d9c19
|
feat: 迭代协议支持对象字面量 computed key 与 upvalue 捕获
|
2026-08-07 10:49:24 +08:00 |
|
pjh123
|
31e28a03a6
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
pjh123
|
263fd255b6
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
pjh123
|
6df603002d
|
perf: 内置函数跳过冗余哈希校验
|
2026-06-30 22:03:07 +08:00 |
|
pjh123
|
0166e0c849
|
perf: 消除热路径冗余检查
|
2026-06-30 21:02:45 +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
|
9f3e353f56
|
style: 自动格式化
|
2026-06-30 15:11:11 +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
|
046119c22c
|
fix: as_string 改走 to_string_full,split 补正则回退与 undefined 分隔符
|
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
|
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 |
|