Commit Graph

74 Commits

Author SHA1 Message Date
pjh123 540116ed97 refactor: 资源栈类型注释改为纯语义描述 2026-08-16 19:23:10 +08:00
pjh123 d1f5a44d37 feat: DisposableStack/AsyncDisposableStack 对象类型标签与两栈原型字段入世界 2026-08-16 19:14:48 +08:00
pjh123 d213d697d4 feat: SuppressedError 内置错误实现(三字段属性序 + 构造器接线) 2026-08-16 19:04:09 +08:00
pjh123 1f2a020585 feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype% 2026-08-16 14:44:47 +08:00
pjh123 ec32e42ce5 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 c230edeb57 feat: Function.prototype[Symbol.hasInstance] 绑定与 bound 函数构造语义
@@hasInstance 按 OrdinaryHasInstance 实现(非可调用 this 返回 false、
prototype 非对象抛 TypeError、bound 链递归到最内层 target);
new boundFn() 解包 [[BoundTargetFunction]] 链后转发构造:绑定实参前置、
新对象原型取 target.prototype、new.target 替换为最内层 target。
2026-08-15 22:40:45 +08:00
pjh123 07d6c83c6b fix: 错误对象属性枚举性、toString 标签与构造器调用语义
- message/name 属性改非枚举(CreateNonEnumerableDataPropertyOrThrow),
  Object.keys/for-in/JSON.stringify 不再泄漏错误信息
- 新增 Error 家族对象标签,Object.prototype.toString 输出 [object Error],
  含子类型与用户子类(沿原型链判定)
- Error 家族构造器补 length=1,函数调用忽略 this 一律新建对象
- JSON.stringify 序列化仅含可枚举自身属性(规范 EnumerableOwnPropertyNames)
2026-08-15 21:30:28 +08:00
pjh123 41329a12ef fix: rebuild 时泄漏保活旧 function/object 家族消除 wrapper 悬垂原型 UAF 2026-08-15 04:05:16 +08:00
爱特每羊队 3e61b573db feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象) 2026-08-12 12:50:53 +08:00
爱特每羊队 18eb6ef8ab feat: add Array entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with 2026-08-12 03:42:42 +08:00
爱特每羊队 28477a3e47 feat: BigInt constructor ToPrimitive semantics, toString(radix), asIntN/asUintN; ctor [[Prototype]]=Function.prototype 2026-08-12 02:23:27 +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
爱特每羊队 d7a63a0d54 feat: implement Temporal duration and plain date differences 2026-08-11 12:38:31 +08:00
爱特每羊队 7e3d7b43b5 feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置) 2026-08-10 23:02:31 +08:00
爱特每羊队 1765d567a1 feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime) 2026-08-10 18:18:39 +08:00
爱特每羊队 012a8e5110 feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator 2026-08-10 03:21:37 +08:00
爱特每羊队 7c2e9ec1ff fix: symbol 作属性键独立编码,不再塌缩为空串 2026-08-09 16:09:49 +08:00
爱特每羊队 6d7ad03417 feat: TypedArray 第一批解锁(%TypedArray% 构造器、原型访问器、of/from、bind 绑参、harness) 2026-08-09 12:26:31 +08:00
爱特每羊队 915dedb151 feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复) 2026-08-09 11:08:36 +08:00
爱特每羊队 eefdfc0d2c feat: RegExp.prototype 实现 Symbol.match/replace/search/split/matchAll 2026-08-08 22:33:32 +08:00
爱特每羊队 c3322d6a3c feat: implement String.fromCodePoint, codePointAt UTF-16 indexing, isWellFormed/toWellFormed 2026-08-08 20:05:49 +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
爱特每羊队 328b8a3ddc docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
爱特每羊队 f461235f04 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +08:00
爱特每羊队 c9e4248a02 fix: 修复不符合 JS 语义约束的错误行为测试 2026-08-05 15:44:22 +08:00
爱特每羊队 26839db07b style: 自动格式化 2026-06-30 15:11:11 +08:00
爱特每羊队 64076256c7 fix: Function .length/.name descriptor attributes (writable:false enumerable:false)
+92 pass (45.5%→45.9%)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit bfbd965374eb4f8003590a33b26eb0bbbd19cb36)
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
爱特每羊队 9da0ded18d feat: Symbol.hasInstance 支持 instanceof 双路径分派 2026-06-27 22:53:04 +08:00
爱特每羊队 3c92f8368c fix: Error原型属性、规范toString、V8风格stack trace 2026-06-27 20:13:17 +08:00
爱特每羊队 f9297097bf fix: 修复 String 原型方法边界条件 2026-06-27 19:45:18 +08:00
爱特每羊队 6f1337c223 feat: 注册 Symbol.toPrimitive well-known symbol 2026-06-27 10:30:25 +08:00
爱特每羊队 b2dd7387a6 feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志 2026-06-26 21:09:36 +08:00
爱特每羊队 02c7de6e09 refactor: 将 BuiltinSnapshot 重构为数组并引入 BuiltinId 枚举 2026-06-26 16:27:49 +08:00
爱特每羊队 466a0815ca refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
爱特每羊队 6bf5daa1af refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动 2026-06-24 12:12:44 +08:00
爱特每羊队 5d168316ad fix: 修复数组回调与原始值属性访问 2026-06-17 12:59:11 +08:00
爱特每羊队 f5d3e3bb7e feat: 添加 BuiltinWorld 选择性重建 2026-06-15 21:11:53 +08:00
爱特每羊队 21e3693c63 feat: 实现for-of与解构赋值 2026-06-14 23:45:12 +08:00
爱特每羊队 59ac640e1d feat: 添加 TypedArray 全局构造器 2026-06-14 19:57:11 +08:00
爱特每羊队 b6f64c1e7c feat: 添加 DataView 全局构造器 2026-06-14 19:07:06 +08:00
爱特每羊队 ba57ce9da2 feat: 添加 ArrayBuffer 全局构造器 2026-06-14 18:49:03 +08:00
爱特每羊队 4c3a5830c9 feat: 绑定全局 escape/unescape 与缺失全局桩函数 2026-06-14 17:21:38 +08:00
爱特每羊队 bf74adf7f5 refactor: 扁平化对象属性存储并优化常量池与 IC 热路径 2026-06-13 23:59:47 +08:00
爱特每羊队 625647e489 refactor: 统一调用调度并安全化 IC 缓存 2026-06-10 16:17:35 +08:00
爱特每羊队 16568c83fe fix: 修复 harness 函数原型和 Object.assign ToObject 2026-06-09 19:46:50 +08:00
爱特每羊队 e588fa4c8c fix: 绑定 Function 和 Object prototype harness helper 2026-06-09 19:31:46 +08:00
爱特每羊队 d20eadaccc feat: 注入 harness 并补齐关键全局内建 2026-06-09 17:08:10 +08:00
爱特每羊队 5d1d25074e style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00