Commit Graph

63 Commits

Author SHA1 Message Date
pjh123 609bd465da style: 自动格式化 2026-10-19 06:42:34 +00:00
pjh123 ae1257203a feat: 实现 Iterator.zipKeyed 静态方法 2026-10-19 06:42:30 +00:00
pjh123 8c87f5e5fa fix: 修复块级闭包 TDZ 占位与调用窗口踩踏及 for-of 迭代器展开 2026-10-18 22:32:58 +00:00
pjh123 2dd47bef2a style: concat 实参循环改迭代器写法 2026-10-16 12:25:30 +00:00
pjh123 9af3041ff5 feat: 实现 Iterator.concat 按序拼接迭代器 2026-10-16 11:53:13 +00:00
pjh123 cd3c972e3b style: 自动格式化 2026-10-16 11:32:32 +00:00
pjh123 5d7c78cdea feat: Iterator.zip 支持 longest 与 strict 模式及 padding 填充 2026-10-16 11:32:29 +00:00
pjh123 864356f099 style: 自动格式化 2026-10-16 10:44:02 +00:00
pjh123 555892c004 feat: 实现 Iterator.zip 构造期与 shortest 迭代 2026-10-16 10:43:59 +00:00
pjh123 89c1f3e162 feat: 迭代器包装器零参转发加关闭期惰性return读取 2026-10-10 05:06:52 +00:00
pjh123 376a2a1e9e refactor: 内置八文件内核访问器调用改经 VmHost 能力方法 2026-10-08 07:23:24 +00:00
pjh123 c97b0207b4 refactor: 内置符号键与符号值改经 realm 维度编码 2026-10-07 04:13:18 +00:00
pjh123 c6bc93a076 refactor: realm 与 Vm 生命周期解耦,Vm 持 Arc<Realm> 2026-10-07 01:35:16 +00:00
pjh123 fce50e3f64 perf: for-of 快路径快照 inner 与游标入条目,免每步槽协议 2026-10-04 22:44:05 +00:00
pjh123 214494d3d5 refactor: 退役 new_array 死参数与三十四处调用点 2026-10-03 04:32:20 +00:00
pjh123 bf19cf112b perf: for-of 内置迭代器快路径直步,跳过 native 调用帧 2026-09-26 19:59:23 +00:00
pjh123 d8ea3d8a65 feat: Map 内部表改墓碑槽模型闭合活表序位 2026-09-24 04:49:34 +00:00
pjh123 0797ff1dce feat: TypedArray 入口校验与见证长度语义 2026-09-23 03:17:12 +00:00
pjh123 2252ed7bbc feat: String 盒迁移 boxed_value 载荷并物化固有属性面 2026-09-22 16:40:01 +00:00
pjh123 75eb0294c4 fix: 迭代器获取保留原始值接收者 2026-09-18 00:58:08 +00:00
pjh123 f11506a949 fix: 字符串迭代器函数直构并统一字节数组转换 2026-09-17 20:14:36 +00:00
pjh123 12aa250542 fix: 字符串默认迭代器缺失时按不可迭代抛错 2026-09-17 19:57:39 +00:00
pjh123 c9eef0f417 docs: 改写迭代器域注释黑话并补无文档函数 2026-09-17 12:37:40 +00:00
pjh123 0f5bd1577e fix: 字符串面 GetIterator 尊重用户 @@iterator 覆盖
String 臂此前对原始串与装箱串一律走码元步进、忽略用户覆盖的
@@iterator。改为按 GetMethod 语义以值自身为 receiver 读 @@iterator
(原始串落 String.prototype、装箱串读自身→原型链),默认迭代器
自别名即 @@iterator 槽本身、以绑定层捕获的函数指针比较走快速
路径避免递归回本臂;覆盖则调用、receiver 为值。peek 对非字符串
原始值先装箱再读 @@iterator;Iterator.from 增 GetIteratorFlattenable
前置校验,非字符串原始值非对象 → TypeError(不装箱)。
2026-09-15 02:18:12 +00:00
pjh123 92df76565b fix: 迭代可选入口对非空不可调用 @@iterator 抛错并实现 IsHTMLDDA 宿主值 2026-09-14 22:16:43 +00:00
pjh123 53da6ef817 fix: @@iterator 解析不到可调用时迭代可选入口回退 array-like 2026-09-14 19:45:52 +00:00
pjh123 eff4de358a style: rustfmt 折行同步 2026-09-14 17:42:30 +00:00
pjh123 d67e1469c1 fix: 迭代器快速路径尊重用户覆盖的 @@iterator 2026-09-14 17:35:40 +00:00
pjh123 3acac721b0 types/kernel/vm/builtins: JsString UTF-16 载荷层(FlatU16 变体 + 单元入口)——原 UTF-8 载荷只存 well-formed 串、孤立 surrogate lossy 转 U+FFFD 回写,FromCodePoint/属性转义与字符串面码点语义皆破;现载荷直存 [u64;3](Flat well-formed / FlatU16 单元序列 / Cons 拼接),utf16_len 独立 32 位字,32B 布局锚保持;from_units 智能路由(含孤立→FlatU16),as_str 仅限 Flat,units/units_borrowed 单元借用,as_lossy_str 宽容读;string_forge 编解码 surrogate 感知(孤立 surrogate 逃逸 hex4 编码、解码展开 astral 代理对、string_ptr 由单元物化);VmHost 单元物化/分配/查询入口 + runtime_api 单元 API;字符串内置全法单元化(charAt/slice/substr/split/replace/search/match/matchAll 单元定位;空模式边界:search→0、match→[""]、replace 插 0 位、matchAll 游标耗尽守卫;接收者 ToString 错误原样传播);正则内置单元化(exec/test/search/symbol_* 单元文本,替换串 \u{...} 与孤立 surrogate 文本处理,lastIndex 与 matchAll 游标单元化);字符串迭代器码点化(高代理+后续低代理成对产出,astral 值回真实码点);String(Symbol) 抛 TypeError;回归钉更新五处(charAt/split/slice/substr 单元精确语义 + dispose 钉改 TypeError 断言);四 crate 全绿(oxide_vm 98 套件 2403 测)+ clippy/fmt 零新增 2026-09-13 22:42:10 +00:00
pjh123 c49cdbf9c5 fix: 迭代器包装对象分配走统一入口登记 epoch 对象表——执行期 epoch 换新只晋升表内对象,绕过登记的包装器/结果对象在换新后悬垂,闭合 2026-09-13 00:41:48 +00:00
pjh123 f3533167b5 fix: Iterator.from 鸭子回退包装器创建时缓存 next 闭包——getter 恰触发一次,消费期零重读,getter 抛错透传 2026-09-11 16:29:35 +00:00
pjh123 c8bcff83f6 fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格 2026-09-09 17:48:33 +08:00
pjh123 64f582d34b chore: rustfmt 全量格式化——CI fmt check 差异清零 2026-09-09 15:14:57 +08:00
pjh123 95155ce450 fix: Promise rejection reason 异常值通道配对修复——create_error 辗转路径归正为 create_from_text 2026-08-21 23:34:04 +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 b4bd0d3198 feat: Iterator 构造器本体支持 subclass 基座 2026-08-16 15:09:41 +08:00
pjh123 9f13d107ec feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype% 2026-08-16 14:44:47 +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 1c5676e614 perf: ASCII 单字符缓存 + 字符串迭代器游标收尾 2026-08-14 12:11:54 +08:00
pjh123 7f1374a5f1 perf: 数组整数键走独立 si 区间免字符串往返 2026-08-13 17:47:55 +08:00
pjh123 b7e9d18220 perf: 收紧字符串借用语义消除跨分配点 UB 2026-08-13 16:24:00 +08:00
pjh123 6b9371ed4a perf: 字符串 for-of 迭代改字节游标增量推进 2026-08-13 15:03:48 +08:00
pjh123 c287708ddc feat: 补 entries/keys/findLastIndex/toSorted/toReversed/toSpliced/with 2026-08-12 03:42:42 +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