Commit Graph

107 Commits

Author SHA1 Message Date
pjh123 e87515a27f fix: Array 方法 array-like receiver/Get 异常传播、species 构造、slice/toSpliced/toSorted 规范化,数组字面量空洞语义 2026-08-12 12:51:28 +08:00
pjh123 62991cfa4b feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象) 2026-08-12 12:50:53 +08:00
pjh123 64a5da45c0 feat: PlainDate equals/compare 字符串参数经 date_like_ymd 转换并做 ISO 范围校验 2026-08-12 10:47:43 +08:00
pjh123 3a832d5a27 fix: PlainDate until/since 全范围 ISO 日期,civil 日计数 + 范围校验,修复全量运行崩溃 2026-08-12 10:47:32 +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 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 7ccedfb0b1 feat: Temporal Instant round 实现 2026-08-11 16:57:53 +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 0d75e901ff fix: Temporal 时长输入校验 2026-08-11 13:11:51 +08:00
pjh123 b9686e000d feat: Temporal 时长差值与纯日期差值 2026-08-11 12:38:31 +08:00
pjh123 fab06a233d feat: Temporal ISO 日期解析器(basic/extended/扩展年)与 harness 解锁 2026-08-11 00:20:45 +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 9ba5821568 fix: Object 内置方法 ToObject 装箱(原始值不再误抛 TypeError) 2026-08-10 20:08:40 +08:00
pjh123 924b8fd4e0 feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime) 2026-08-10 18:18:39 +08:00
pjh123 d8952a59fa perf: 数组元素独立存储区,push 改为摊销 O(1) 尾插 2026-08-10 16:01:09 +08:00
pjh123 a5a910a24e feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator 2026-08-10 03:21:37 +08:00
pjh123 5a9a46483d feat: Promise 静态方法(all/race/allSettled/any + AggregateError)+ async test262 解锁
- Promise.all/race/allSettled/any:共享聚合核心,逐元素 C.resolve + Invoke(then),
  共享记录对象承载剩余计数/结果数组/能力闭包,元素处理器按模式结算
- AggregateError 内建(构造器 + prototype,Promise.any 拒绝路径依赖)
- 修复 capability_executor:能力已持有非 undefined 值时二次调用抛 TypeError
- test262 runner:移除 async flag 无条件 skip;解锁 asyncHelpers/promiseHelper/
  doneprintHandle harness;注入 print 捕获 + ,run() 后按 marker 判定
- 排除 await-dictionary(Promise.allKeyed/allSettledKeyed 2025 proposal)特性
- iterator 遍历辅助改 pub 供 oxide_vm 复用
2026-08-09 23:25:36 +08:00
pjh123 464712f7ba feat: 实现 yield* 委托语法(内层迭代器 next/return/throw 转发) 2026-08-09 20:00:16 +08:00
pjh123 783e89e4cb feat: 生成器基础支持(YIELD 帧快照挂起/恢复 + GeneratorPrototype next/return/throw)
- 新增 YIELD/SUSPEND_BODY opcode;function* 识别与 yield emit
- GeneratorState 全量快照 VM 执行上下文(regs/pc/bytecode/spill/save/try/cell 栈段/迭代器)
- 调用时参数初始化(默认值/解构副作用与异常在 g() 时刻生效)
- %GeneratorPrototype%/%GeneratorFunction.prototype% 内建对象与 next/return/throw
- session GC trace 生成器状态 JsValues;闭包捕获分析补 yield/赋值目标扫描
2026-08-09 18:02:08 +08:00
pjh123 cd1bc206a5 fix: symbol 作属性键独立编码,不再塌缩为空串 2026-08-09 16:09:49 +08:00
pjh123 c8740bfb49 feat: 函数 length 属性(字节码函数/bind 包装器)+ getter/setter name 前缀 2026-08-09 15:38:45 +08:00
pjh123 36fb61fc74 feat: 解构模式语义补齐(REST 枚举/getter/computed 排除、IteratorClose、RegAlloc def 干涉、for-in 捕获遮蔽) 2026-08-09 15:01:31 +08:00
pjh123 c65f3be179 feat: TypedArray 原型方法族全量解锁(回调/查找/迭代/排序/ES2023 copy 族) 2026-08-09 13:18:50 +08:00
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