Commit Graph

130 Commits

Author SHA1 Message Date
pjh123 4dc475d2fa feat: Temporal.PlainYearMonth.from——年-月串解析/字段 bag/实例复制与 (年,月) 范围 2026-09-12 05:38:24 +00:00
pjh123 5362595b17 feat: Temporal.PlainMonthDay equals/with/toPlainDate——三元比较、字段覆盖与 constrain 日期合成 2026-09-12 04:52:28 +00:00
pjh123 2fcae4fbca feat: Temporal.PlainMonthDay.from——ISO 串解析/字段 bag/实例复制与 overflow 语义 2026-09-12 04:23:44 +00:00
pjh123 e4e278dd19 feat: PlainMonthDay/PlainYearMonth toLocaleString(默认形串)与 valueOf(TypeError)绑定 2026-09-12 03:49:18 +00:00
pjh123 e33e7a1eb7 feat: PlainMonthDay/PlainYearMonth 对象地基——构造器/getter/toString/toJSON 注册与 BuiltinWorld 接线 2026-09-12 03:42:48 +00:00
pjh123 b17119ce16 fix: 脏重建方法 wrapper/构造器/global 槽跨轮复用迁移——FnWrapperKey 四分件键(加 label 消解同名原型 next/return/throw 碰撞)登记表继承止 S2 每轮 wrapper 无界累积,global 槽原位更新堵住旧构造器滞留 UAF 与每轮 +3 槽无界增长 2026-09-11 18:06:19 +00:00
pjh123 227dfe008f fix: test262 runner 进程 RSS 无界增长——session 收尾统一释放内建裸堆区/upvalue 别名 + 每测试分配上限 256MiB(任务 116)
- 泄漏修复:KernelSession 收尾(teardown_intrinsic_protos/free_session_upvalues)
  释放内建对象 Box::into_raw 裸堆区(release_raw_heap 四区置空幂等)与
  session upvalue 原件/晋升克隆别名去重释放;bindings 原生盒负载边、
  session_gc 边记录、vm_props 属性区同步收尾
- 失控测试封顶:runner kernel max_alloc_bytes=256MiB(dispatch 采样口径
  run_alloc_bytes/run_alloc_bytes_full),超限计 memory-limit 失败而非拖垮
  进程 RSS(arena 高水位 GB 级 × 多 worker = 宿主 OOM)
- 归属:RSS 泄漏 pre-existing(HEAD 无 WIP 同现);identifiers escaped
  unicode 挂死族另立 B132(pre-existing,supervise 超时自愈)
- 验证:build/clippy/四 crate 测试全绿零新增告警;language 前 5000 测试
  单窗峰值 330MB(旧 ~4.5MB/测试 单调增长→88GB OOM 签名消失),
  窗口间峰值 0.17-1.6GB 有界、逐测试释放回基线
2026-09-11 03:55:59 +00:00
pjh123 64f582d34b chore: rustfmt 全量格式化——CI fmt check 差异清零 2026-09-09 15:14:57 +08:00
pjh123 3cf6618ae7 feat: Temporal.Duration 补全——compare/subtract/equals/sign/blank/toJSON/toLocaleString + relativeTo 相对日历对齐 2026-09-09 15:14:49 +08:00
pjh123 e460a1aea1 feat: DataView getFloat16/setFloat16 2026-08-22 11:15:55 +08:00
pjh123 c7b54cb181 feat: String.raw/groupBy/withResolvers/f16round/__defineGetter__ 低垂果实批量实现 2026-08-22 10:26:00 +08:00
pjh123 c514ab35a3 feat: 实现 console 全局对象 (log/warn/error/info/debug/trace) 2026-08-21 22:29:21 +08:00
pjh123 b9680c80aa feat: Temporal.PlainTime round 舍入(真因子校验 + 跨午夜取模) 2026-08-17 06:23:06 +08:00
pjh123 c6f0e76bf8 feat: Temporal.PlainTime add/subtract 时间域叠加 2026-08-17 06:02:06 +08:00
pjh123 0037f0e5ad feat: Temporal.PlainTime until/since 差值计算 2026-08-17 02:40:21 +08:00
pjh123 bed1abd3f3 feat: Temporal.PlainTime equals/compare 比较语义 2026-08-17 02:34:30 +08:00
pjh123 27cc6333f5 feat: Temporal.PlainTime.from 三分支解析(字符串/实例/bag) 2026-08-17 02:19:01 +08:00
pjh123 a8e68a7a45 feat: Temporal.PlainTime toString options 与字符串化族 2026-08-17 02:14:30 +08:00
pjh123 e06071429c feat: ZonedDateTime.round 舍入(day 双路径 + 真因子校验) 2026-08-17 01:55:52 +08:00
pjh123 430f922ef3 feat: ZonedDateTime.compare 跨实例按 epoch 比较(复用 from 解析器,忽略时区/日历) 2026-08-17 01:27:54 +08:00
pjh123 68f8637acf feat: ZonedDateTime.add/subtract 时长运算(复用 PDT 叠加算法 + 中间日期检查 + 时区/日历槽保真) 2026-08-17 00:02:00 +08:00
pjh123 5bf674e1c6 feat: ZonedDateTime.with/withPlainTime/withCalendar 字段合并(offset 默认 prefer + 时间串歧义解析) 2026-08-16 23:49:30 +08:00
pjh123 064f565b21 feat: ZonedDateTime.until/since 差异计算(复用 difference_core) 2026-08-16 23:21:08 +08:00
pjh123 0761fb3010 feat: ZonedDateTime.from 三分支解析(字符串/对象/property bag + offset/disambiguation 选项) 2026-08-16 22:50:48 +08:00
pjh123 c7b238e518 feat: eval 全局注册与最小执行(间接 eval) 2026-08-16 22:25:33 +08:00
pjh123 04067a4fe5 feat: ZonedDateTime.withTimeZone 与 equals 基础实现 2026-08-16 22:07:38 +08:00
pjh123 3baa868232 feat: ZonedDateTime.toString 族(toJSON/toLocaleString/valueOf 绑定) 2026-08-16 21:56:57 +08:00
pjh123 662fbcde86 feat: ZonedDateTime 27 个属性 getter 宏化实现 2026-08-16 21:21:07 +08:00
pjh123 6c7bcdeed6 feat: AsyncDisposableStack disposeAsync 状态机(needsAwait 微任务序 + 错误链合并 + 绑定三时机) 2026-08-16 20:11:50 +08:00
pjh123 e96142ef4f feat: DisposableStack 测试九组(构造器/方法语义/原型形状/GC 交叉) 2026-08-16 19:32:23 +08:00
pjh123 7c02d3ece1 feat: DisposableStack 内置对象(状态盒 + use/adopt/defer/dispose/move + GC 六处接线 + 绑定三时机) 2026-08-16 19:22:57 +08:00
pjh123 75b429fac7 fix: Error 子类型构造器描述符与原型链对齐规范(prototype/name meta + [[Prototype]] 指向 Error) 2026-08-16 19:10:51 +08:00
pjh123 e100bfb8b4 feat: SuppressedError 内置错误实现(三字段属性序 + 构造器接线) 2026-08-16 19:04:09 +08:00
pjh123 f1c4b33735 feat: Iterator.prototype 返回迭代器方法(map/filter/take/drop/flatMap) 2026-08-16 16:38:45 +08:00
pjh123 4ea723764f feat: Iterator.prototype 终端方法(forEach/every/some/find/reduce/toArray) 2026-08-16 16:02:14 +08:00
pjh123 9f13d107ec feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype% 2026-08-16 14:44:47 +08:00
pjh123 fe8892079e chore: 全仓 rustfmt 格式化归拢 2026-08-16 12:50:36 +08:00
pjh123 4a1e0a3e9e fix: IC 快速路径 symbol 原始值走 Symbol.prototype 链 2026-08-16 10:31:34 +08:00
pjh123 4e2644016b test: $262 宿主对象最小绑定 + is not defined 判定白名单化
引擎侧:绑定 $262 宿主对象(evalScript/global/gc 可用,detachArrayBuffer/
createRealm/agent 抛 not supported 而非 ReferenceError),并加入编译期
已知全局表;引用 $262.* 的测试从全量 skip 转为真实执行。

runner 侧:is not defined 不再一票吞 skip——解析错误消息中的标识符名,
仅在缺失全局白名单($262/structuredClone/queueMicrotask)内才按能力
缺失跳过;其余 is not defined 按真实失败计入,修复后应转 PASS 的
测试恢复可见。
2026-08-16 02:47:02 +08:00
pjh123 c59ad64e7d fix: 全局构造器与内置对象属性改非枚举与规范对齐 2026-08-16 02:29:42 +08:00
pjh123 3df08dddff fix: object 家族 dirty 时重建迭代器绑定并对齐 Iterator.prototype,绑定幂等化避免重复槽 2026-08-16 00:25:30 +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 c052f5a619 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 528f893e63 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 7362137720 chore: 清理 oxide_vm clippy 告警 2026-08-14 05:26:46 +08:00
pjh123 df23fdff39 feat: compiler/test262 runner 接线 + 模块顶层 this 绑定
- Compiler::compile_module:Emitter::emit_program_module → 统一 IR 管线(DCE/regalloc/lower/flatten)
- CompiledModule.is_es_module:VM run 时模块顶层 this=undefined(脚本仍为全局对象)
- 全局注册 __moduleLinkGet
- test262 runner:Test262ModuleLoader(相对路径解析 + import attributes 判定 json/text/bytes),is_module 走 compile_module
2026-08-12 17:37:33 +08:00
pjh123 f2214ab95b feat: Temporal.Duration.prototype.round(无日历单位路径:选项校验+24h 天舍入+按最大单位平衡,绑定注册) 2026-08-12 16:16:22 +08:00
pjh123 1563fdc845 feat: Temporal.Duration.prototype.add(分量精确求和+按最大单位平衡+范围校验,绑定注册);add 子集 32/0 2026-08-12 14:50:13 +08:00
pjh123 1a71e0b8d6 fix: Temporal 构造器补 length 自有属性(Instant/ZonedDateTime/PlainDate/PlainTime/Duration 按规范 arity) 2026-08-12 14:37:31 +08:00