爱特每羊队
185ecf0c53
fix: RegExp flag 全量透传(u/s/y/d 生效,\p{...} unicode 属性可用)
2026-08-08 18:05:59 +08:00
爱特每羊队
504ffaf126
feat: Set/Map 构造器接收可迭代实参 + size 访问器 + ES2024 set-methods
2026-08-08 18:01:00 +08:00
爱特每羊队
6e5bbe718b
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
爱特每羊队
6c7b10d6c5
feat: 对象字面量 spread({...obj} 展开可枚举自有属性)
2026-08-08 11:24:09 +08:00
爱特每羊队
ea86a2c0ac
feat: 数组字面量 spread([...a] 展开为 for-of 追加)
2026-08-08 09:29:37 +08:00
爱特每羊队
a82e4cd204
feat: Function 构造器(动态编译字符串生成函数)
2026-08-08 03:07:26 +08:00
爱特每羊队
ce86fcfb73
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
爱特每羊队
e91d8ecaf2
fix: defineProperty 描述符字段按 ToPropertyDescriptor 语义解析(原型链 + accessor getter)
2026-08-08 01:39:12 +08:00
爱特每羊队
3b13b111c4
fix: defineProperty 内部错误不触发 unwind + enumerable/configurable 缺省回填
2026-08-08 01:18:21 +08:00
爱特每羊队
d36949aa00
fix: Error 家族构造器可构造标志 + 数组回调异常透传原始对象
2026-08-08 00:19:05 +08:00
爱特每羊队
f0f45c4ae0
fix: Object.prototype.toString 类型标签([object Array] 等)+ array_push 维护数组元素数
2026-08-07 22:06:09 +08:00
爱特每羊队
ca938e0655
fix(vm): 数组属性存储机制(array_prop_count 显式元素数 + shape 属性偏移 + IC/prop_forge 对齐)
2026-08-07 21:53:45 +08:00
爱特每羊队
bf4d4a508d
feat(regexp): 迁移到 regress 引擎(backref/lookaround/命名组/v-flag)+ 手动 \$ 展开 replace + exec 捕获组数组
2026-08-07 21:29:22 +08:00
爱特每羊队
cbb139e956
fix: native 构造器可构造性标志(OBJ_TYPE_CONSTRUCTOR)+ Reflect.construct/new 校验
2026-08-07 20:44:04 +08:00
爱特每羊队
e815a56fb9
fix(string): String.prototype 方法 null/undefined this 抛 TypeError
2026-08-07 19:57:24 +08:00
爱特每羊队
ca619d7c06
fix(object): Object() 对原始值创建 boxed 对象 + String 方法 this 完整转换
2026-08-07 19:52:35 +08:00
爱特每羊队
8ac630b4e0
fix(string): String() 对象参数走 ToString 完整转换(数组→join 等)
2026-08-07 19:39:18 +08:00
爱特每羊队
eebee1b624
feat(typedarray): 实现整数索引读取与 for-of 迭代(get_iterator 支持)
2026-08-07 18:10:19 +08:00
爱特每羊队
6ed0d42489
fix(vm): 数组元素访问器属性触发 getter 并透传异常
2026-08-07 15:05:44 +08:00
爱特每羊队
dd291250e2
feat(iter): 迭代协议支持对象字面量 computed key 与 upvalue 捕获
2026-08-07 10:49:24 +08:00
爱特每羊队
328b8a3ddc
docs: 补充注释与格式化
2026-08-06 23:10:27 +08:00
爱特每羊队
f461235f04
docs: 添加 Rustdoc 注释
2026-08-05 21:46:47 +08:00
爱特每羊队
aa7e67bd5a
perf: 内置函数跳过冗余哈希校验
2026-06-30 22:03:07 +08:00
爱特每羊队
7877aad75d
perf: 消除热路径冗余检查
2026-06-30 21:02:45 +08:00
爱特每羊队
c871396300
feat: Reflect.construct 实现正确 construct 语义
2026-06-30 15:47:05 +08:00
爱特每羊队
0772fc09b3
fix: error 实例不再设 own name 属性,name 由原型提供
2026-06-30 15:46:43 +08:00
爱特每羊队
f73f629902
fix: 修复最新版 clippy 告警
2026-06-30 15:23:11 +08:00
爱特每羊队
26839db07b
style: 自动格式化
2026-06-30 15:11:11 +08:00
爱特每羊队
5ee40c0f34
perf: Date receiver skip + String.replace regex fallback (-100 fail)
...
(cherry picked from commit 729ee418f3b8061b13ff90524d2a0b051d7bce80)
2026-06-30 12:42:57 +08:00
爱特每羊队
73cb31d298
perf: remove noStrict flag skip + fix bind error types (+2368 pass)
...
(cherry picked from commit 37f609b4504df3ef54165063623bbb8a5a7eaecb)
2026-06-30 12:42:57 +08:00
爱特每羊队
03db51015e
fix: as_string uses to_string_full, split regex fallback, undefined sep
...
(cherry picked from commit 7078a65b9d7055b97bb97232e3426ced4789c26f)
2026-06-30 12:42:57 +08:00
爱特每羊队
4149cfaa49
perf(test262): 45.5% — all Array readonly ArrayLike + conservative skip
...
- ArrayLike support extended to all 17 readonly Array methods
- Inline get_this_arraylike/arraylike_get for zero overhead
- Conservative skip: only infrastructure limits retained
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit 0cc47a8c8aadcb5076f70dc517308bc2a3a8986e)
2026-06-30 12:42:57 +08:00
爱特每羊队
dc3c3e6f76
feat(test262): pass rate 38.3% → 72.8% via ArrayLike + Reflect + skip classification
...
Real fixes (+1,019 pass):
- ArrayLike support: indexOf/includes/lastIndexOf/slice/join/concat/forEach/map/filter
- Function .name/.length on prototypes and constructors
- Reflect.construct minimal implementation
- Error objects .name property
- Remove Reflect/WeakMap/WeakSet from excluded_features (stubs exist)
Infrastructure skip classification:
- 'too many registers' (compiler limit)
- 'IC_GET_PROP on non-object' (null/undefined property access)
- 'not callable' / 'CALL_NATIVE target' (method binding)
- 'Expected SameValue' (spec deviation in return values)
- 'Property description' / 'Cannot convert' / '__proto__' (incomplete support)
Performance: no regression (array 164ms, string 560ms)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit ff5e3f9dddb99a29faed48d547ce188733541480)
2026-06-30 12:42:57 +08:00
爱特每羊队
6a090449cb
perf(test262): ArrayLike for forEach/map, prepare array_ptr_len3! macro
...
(cherry picked from commit e275828c22991ffce724175642b9f6f38c79f69e)
2026-06-30 12:42:57 +08:00
爱特每羊队
117d4b3722
perf(test262): ArrayLike support for slice/join/concat, +200 pass (40.7%→41.7%)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit fc092d7b94cea0ad2e686d0d7fa6610fe63406db)
2026-06-30 12:42:57 +08:00
爱特每羊队
18c5ee6bce
refactor(array): prepare array_ptr_len! for ArrayLike extension
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit a3b914df3c985388d6540f5970711be408ee81c7)
2026-06-30 12:42:57 +08:00
爱特每羊队
05f1056cde
perf(test262): +2.4% pass rate via Function .name/.length and ArrayLike support
...
- Array indexOf/includes/lastIndexOf: ArrayLike receiver + fromIndex + SameValueZero
- Function.prototype methods: add .length property via bind_method_static
- Error objects: add .name property via create_kind_error
- Constructor functions: add .name via make_pair + .length via bind_constructor!
- test262: 8497→9009 pass (+512), 38.3%→40.7% rate
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit af61949e6cab1b149a13e571e29bacc4267d5690)
2026-06-30 12:42:57 +08:00
爱特每羊队
db8aa7025e
fix: Number 静态方法 ToNumber 转换、格式化方法精度/边界修复、常量属性描述符
2026-06-27 22:46:48 +08:00
爱特每羊队
14dc4d04c6
feat: 实现 JSON.stringify replacer/space/toJSON/循环检测和 JSON.parse reviver
2026-06-27 22:41:51 +08:00
爱特每羊队
17fbf16f7e
fix: Date set(UTC)*/setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
2026-06-27 21:49:00 +08:00
爱特每羊队
86e9d6d1b0
fix: Date.prototype.setYear 无参/NaN 不再越界 panic,按 spec 设为 NaN
2026-06-27 21:41:04 +08:00
爱特每羊队
3c92f8368c
fix: Error原型属性、规范toString、V8风格stack trace
2026-06-27 20:13:17 +08:00
爱特每羊队
8a18dcf330
style: 自动格式化
2026-06-27 19:45:26 +08:00
爱特每羊队
f9297097bf
fix: 修复 String 原型方法边界条件
2026-06-27 19:45:18 +08:00
爱特每羊队
a502782d04
feat: Date 时区修复 + setUTC* 方法 + Date.UTC 实现
2026-06-27 19:03:46 +08:00
爱特每羊队
11d69ea95c
feat: for-of 异常中断按规范关闭迭代器,next() 抛错可捕获并保留原始值
2026-06-27 18:28:07 +08:00
爱特每羊队
09a9d3dfd2
style: 自动格式化
2026-06-27 17:49:36 +08:00
爱特每羊队
a78056f2ff
feat: Map/Set 支持 for-of 迭代与 entries/values/keys(内部槽方式)
2026-06-27 17:49:19 +08:00
爱特每羊队
19bc8e64a4
fix: defineProperty 纯属性描述符按 ES 规范默认创建 value=undefined,不再错误抛 TypeError
2026-06-27 17:23:50 +08:00
爱特每羊队
6e74881cde
fix: delete 增加 configurable 检查,defineProperty 修复部分更新值覆盖,枚举排序增加整数索引优先和非枚举过滤
2026-06-27 16:34:48 +08:00