pjh123
|
9eb0944877
|
fix: Error.prototype.toString 异常传播语义——getter/Symbol/ToString 异常原样上抛
- name/message 读取改 ordinary_get:访问器 getter 触发,抛错经 take_uncaught_value 恢复原值传播
- name/message 转换改 to_string_full:Symbol 抛 TypeError,用户 ToPrimitive 异常原样传播
- 非对象 this 保持抛 TypeError(与现行规范 §20.5.3.4 及 test262 invalid-receiver/called-as-function 一致)
- 单测补 getter 抛错/Symbol name+message/toString 抛错四例
|
2026-08-22 10:44:48 +08:00 |
|
pjh123
|
aa523fcd4c
|
chore: 移除单元测试中4个耗时benchmark测试函数
|
2026-08-21 22:25:23 +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
|
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
|
2d4c074530
|
feat: eval 脚本模式保留完成值与全局 var(create_dynamic_script)
|
2026-08-17 00:14:47 +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
|
3db77b869d
|
test: ZonedDateTime getter 语义断言(字段/epoch floor/偏移/品牌 TypeError)
|
2026-08-16 21:21:27 +08:00 |
|
pjh123
|
681b4b3c85
|
test: AsyncDisposableStack 测试三十组(微任务序/错误链/GC 交叉/full_reset)
|
2026-08-16 20:11:56 +08:00 |
|
pjh123
|
b480ec9308
|
feat: DisposableStack full_reset 重建测试(全局槽/原型链/instanceof 存活)
|
2026-08-16 19:35:11 +08:00 |
|
pjh123
|
e96142ef4f
|
feat: DisposableStack 测试九组(构造器/方法语义/原型形状/GC 交叉)
|
2026-08-16 19:32:23 +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
|
554a69078f
|
fix: PlainDate 周/月/时代 getter 补 ensure branding 校验
|
2026-08-16 18:50:55 +08:00 |
|
pjh123
|
c8b1ccd0a0
|
feat: Temporal 构造器严格校验日历并真实存槽(含 fast path 与日历传播)
|
2026-08-16 17:30:01 +08:00 |
|
pjh123
|
9f64962b20
|
fix: sloppy 普通函数调用 this 未定义/null 绑定全局对象
|
2026-08-16 16:58:32 +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
|
649ea44e71
|
fix: 控制流逃出计数读越界防御,无 ext 字的返回安全降级
|
2026-08-16 15:02:04 +08:00 |
|
pjh123
|
89f6b98b65
|
fix: 对象断言测试持活 Vm 消除返回值裸指针 UAF
|
2026-08-16 15:02:04 +08:00 |
|
pjh123
|
277429e3ea
|
fix: 绑定模式内嵌默认值表达式补捕获扫描,嵌套函数引用外层绑定防 LOAD_GLOBAL 回归
|
2026-08-16 14:53:57 +08:00 |
|
pjh123
|
9f13d107ec
|
feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype%
|
2026-08-16 14:44:47 +08:00 |
|
pjh123
|
c5c4916a8f
|
fix: 绑定侧解构计算键参与闭包捕获遍历防静默错值
|
2026-08-16 14:30:20 +08:00 |
|
pjh123
|
c8f5f76e47
|
refactor: 测试断言改 assert!
|
2026-08-16 14:04:27 +08:00 |
|
pjh123
|
ef3882ac55
|
feat: 解构计算键通用 fallback 支持任意键表达式
|
2026-08-16 13:49:17 +08:00 |
|
pjh123
|
f814a2c5db
|
fix: new 表达式 native 构造收口 call_function_sync 防 255/254 槽污染
|
2026-08-16 13:41:01 +08:00 |
|
pjh123
|
9002a1aa77
|
fix: 类表达式真实名 cell 按声明路径门控,不再覆盖外层同名绑定
|
2026-08-16 13:32:25 +08:00 |
|
pjh123
|
fe8892079e
|
chore: 全仓 rustfmt 格式化归拢
|
2026-08-16 12:50:36 +08:00 |
|
pjh123
|
648842fd82
|
feat: new.target MetaProperty emit 支持(LOAD_VAR NewTarget)
|
2026-08-16 12:43:50 +08:00 |
|
pjh123
|
068db40fdd
|
test: upvalue cell 时序判别用例(class 捕获/var 入口初始化/参数默认值链式捕获)
|
2026-08-16 12:34:14 +08:00 |
|
pjh123
|
bbc09a8208
|
feat: 私有字段复合赋值 emit 支持(GET_PRIVATE→op→SET_PRIVATE 序列)
|
2026-08-16 12:12:26 +08:00 |
|
pjh123
|
161c4c2c41
|
fix: for-await-of 同步迭代器 return() 忽略路径补异常值槽配对
|
2026-08-16 12:00:59 +08:00 |
|
pjh123
|
00b2f4d8b1
|
fix: class 生成器方法补 is_generator 标志,修正方法形态生成器语义
|
2026-08-16 11:44:20 +08:00 |
|
pjh123
|
e54b877f17
|
fix: 异常值通道配对——忽略调用槽配对、unwind 接住清槽、生成器参数初始化不覆盖异常值
|
2026-08-16 11:29:50 +08:00 |
|
pjh123
|
28029f2a77
|
fix: Date 多参构造年 0-99 按规范映射到 1900-1999
|
2026-08-16 10:58:50 +08:00 |
|
pjh123
|
8658984dc7
|
fix: Date 普通调用忽略参数并移除 RFC2822 panic
|
2026-08-16 10:58:12 +08:00 |
|
pjh123
|
4a1e0a3e9e
|
fix: IC 快速路径 symbol 原始值走 Symbol.prototype 链
|
2026-08-16 10:31:34 +08:00 |
|
pjh123
|
744899aae9
|
fix: for-of/for-in 提前退出时按规范顺序完成 IteratorClose
return/break/continue 逃出 for-of 时此前完全不执行 IteratorClose:
BREAK/CONTINUE/RETURN 指令现在经 ext 字携带词法逃出的迭代器层数
(for-of + for-in 各 16 位),运行时在全部 finally 穿越之后、真正
跳转/返回之前按 LIFO 关闭——与规范 §13.7.5.4(循环体完成值已含
内部 try-finally 处理,IteratorClose 在后)顺序一致。
- emit 词法:LabelCtx 增加 for-of/for-in 深度计数,loop/switch/label
打开时快照,break/continue/return 按当前深度减目标深度计算逃出层数
(switch 内 break 以 switch 打开点为基准,目标循环自身不计入)
- 指令编码:brk/cont/ret 三参构造,lower 跳转路径补发 ext 字
- 运行时:dispatch_break/continue/return 读取逃出计数,无 finally 时
直接关闭后跳转/返回,有 finally 时随 Completion 悬挂由 TRY_FINALLY_END
在穿越完成后消费;生成器 .return()/.throw() 注入经 complete_generator_return
全关快照栈迭代器;return() 抛错经 unwind 替代完成值并关闭剩余迭代器
- 顺带:for-in 逃出残留(无 return() 语义,仅弹栈);for-await-of 的
异步迭代器不做同步关闭(return() promise 须 await,走异步机制)
- 新增 15 项回归测试:return/labeled break/continue/switch/while/finally
顺序/抛错优先/生成器注入/for-in/for-await-of 嵌套
|
2026-08-16 09:31:39 +08:00 |
|
pjh123
|
2e16b63d9b
|
feat: for-of 迭代器栈条目化:迭代器与最近 next 结果配对存放
单一 last_for_of_result 槽被嵌套迭代覆盖,CLOSE 判定本迭代器是否
自然 done 时误读他者结果,导致数组解构/spread/嵌套 for-of 提前退出
漏调或误调 return()。改为栈条目 (iterator, last_result) 配对:
- IterState.for_of_iters 元素改 ForOfEntry,删除 last_for_of_result
- INIT 压条目,DONE 写本条目,NEXT/CLOSE 读本条目结果判 done
- GC mark/rewrite、inline save/restore、挂起帧快照同步配对遍历
- for-await-of 数组解构提前 break 现正确触发 return()(任务 40 样例)
|
2026-08-16 04:00:06 +08:00 |
|
pjh123
|
2fc5a28876
|
fix: Date 构造器缺省字段与溢出滚动语义符合规范
多参缺省字段固定为日=1、时分秒毫秒=0(不再取当前时刻);
月/日/时等分量越界按 MakeDay/MakeTime 滚动进位,负月同样归一;
单参字符串与 Date.parse 支持时区偏移(Z/+hh:mm/+hhmm)折算 UTC,
修复此前 NaiveDateTime 解析静默丢弃偏移的问题。
|
2026-08-16 03:43:42 +08:00 |
|