Commit Graph

32 Commits

Author SHA1 Message Date
pjh123 c49cdbf9c5 fix: 迭代器包装对象分配走统一入口登记 epoch 对象表——执行期 epoch 换新只晋升表内对象,绕过登记的包装器/结果对象在换新后悬垂,闭合 2026-09-13 00:41:48 +00:00
pjh123 c8bcff83f6 fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格 2026-09-09 17:48:33 +08:00
pjh123 95155ce450 fix: Promise rejection reason 异常值通道配对修复——create_error 辗转路径归正为 create_from_text 2026-08-21 23:34:04 +08:00
pjh123 e54b877f17 fix: 异常值通道配对——忽略调用槽配对、unwind 接住清槽、生成器参数初始化不覆盖异常值 2026-08-16 11:29:50 +08:00
pjh123 69152ad608 fix: 迭代器原型形状补全(Iterator.prototype/string 中继层/next 原型化) 2026-08-15 23:36:01 +08:00
pjh123 2359c4e0a4 feat: 迭代器原型基建:%IteratorPrototype% 链 + 各集合迭代器原型
新增 %IteratorPrototype%(含 @@iterator 返回自身,经原型链被全部迭代器
继承,it[Symbol.iterator]() === it 恒等)与 %ArrayIteratorPrototype%/
%MapIteratorPrototype%/%SetIteratorPrototype%/%StringIteratorPrototype%/
%RegExpStringIteratorPrototype%(链到 %IteratorPrototype%);Array/Map/Set/
TA/String/matchAll 迭代器包装统一挂对应原型;补 Array/String 的 @@iterator
别名绑定。集合迭代器原型不含 return 方法(规范集合迭代器无 return)。
2026-08-15 22:57:03 +08:00
pjh123 735db1b141 perf: 相等/严格相等/ToNumber 改 js_type 单次提取收敛并修复混合 tag 严格相等 ±0 语义 2026-08-15 15:50:35 +08:00
pjh123 cd9132fb14 perf: 数组迭代方法元素读取走密集直读快路径 2026-08-13 18:12:49 +08:00
pjh123 e87515a27f fix: Array 方法 array-like receiver/Get 异常传播、species 构造、slice/toSpliced/toSorted 规范化,数组字面量空洞语义 2026-08-12 12:51:28 +08:00
pjh123 c287708ddc feat: 补 entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with 2026-08-12 03:42:42 +08:00
pjh123 a968b89658 fix: 异常兜底路径经 create_from_text 恢复错误类型(不塌缩普通 Error) 2026-08-10 20:19:51 +08:00
pjh123 2bebd822d0 feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness) 2026-08-09 12:26:31 +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 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 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 d926d1093b fix: 修复最新版 clippy 告警 2026-06-30 15:23:11 +08:00
pjh123 9f3e353f56 style: 自动格式化 2026-06-30 15:11:11 +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 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 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 7ba5da9513 refactor: 用户数字参数改走 coerce_number_bounded,对象参数支持 ToPrimitive 2026-06-27 13:49:37 +08:00
pjh123 f23d75a63e feat: 实现 Object/Array 的 toString 与 valueOf 2026-06-27 13:22:45 +08:00
pjh123 f2002d6bae feat: 为 Array/String 原型方法添加入口和错误路径结构化日志,编译器添加阶段边界日志 2026-06-26 21:24:18 +08:00
pjh123 f23d4e61b2 feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost> 2026-06-25 22:38:23 +08:00