pjh123
|
32cfc066f1
|
feat: Temporal.PlainYearMonth compare/equals——(年,月,参考日) 三元比较与 ToTemporalYearMonth 共享件
|
2026-09-12 05:51:03 +00:00 |
|
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
|
3169e8f2f9
|
perf: run 签名改 &Arc<CompiledModule>,顶层模块跨 run 共享——collect_flat_modules 顶层改 Arc::clone 消除逐 run 常量池深拷贝,全调用点 Arc 包装迁移
|
2026-09-11 22:19:13 +00:00 |
|
pjh123
|
c39f35fc1e
|
style: 死闭包 A/B 差分单测行宽归一
|
2026-09-11 20:53:42 +00:00 |
|
pjh123
|
c6dfa3be79
|
test: 死闭包双放回归单测补字节账目 A/B 差分断言——两条同构 arrow 仅 upvalue 数不同(3 vs 0),两次收集账目差即 upvalue 列表 Box 字节数,退回死分支不释放(泄漏)旧行为差分为 0 即转红
|
2026-09-11 20:20:00 +00:00 |
|
pjh123
|
ad0405fe51
|
fix: full_reset/run 边界换新 Bump 替代原地 reset——旧 epoch/session arena 全量归还系统分配器、容量不跨 reset 保留,配 arena 保留锚校准用例
|
2026-09-11 19:43:55 +00:00 |
|
pjh123
|
487c6a9559
|
fix: sweep 死对象分支释放死闭包 upvalue 列表 Box(死对象不克隆、Box 独占,恰好一次释放后置空防收尾双放),配 mem_closure_dead_leak RSS 斜率校准用例
|
2026-09-11 18:32:43 +00:00 |
|
pjh123
|
f3533167b5
|
fix: Iterator.from 鸭子回退包装器创建时缓存 next 闭包——getter 恰触发一次,消费期零重读,getter 抛错透传
|
2026-09-11 16:29:35 +00:00 |
|
pjh123
|
e59eec884a
|
test: 补 do-while continue 判别性钉——continue 须直达条件位置
既有钉修复前后同值(r=4)不判别 continue 目标位置:新钉 i 到 3 触发 continue,条件直达时 3<3 为假即退得 3,continue 错指体首会跳过条件多跑一轮得 4。
|
2026-09-11 12:44:48 +00:00 |
|
pjh123
|
ef3b95f6d3
|
fix: for-in/for-of 左侧未声明写改读写登记集并集判定——读侧登记的全局槽漏全局对象属性写与 strict 漏抛
左侧标识符先读后写时全局槽由读侧登记,写侧单集判定不命中:sloppy 写穿透漏发(循环后读陈旧值)、strict 漏抛 ReferenceError。与其余 8 写点统一为 is_implicit_global_reg;补 3 枚判别性钉(sloppy for-in / for-of 穿透 + strict for-in 漏抛,回退单集判定必红)。
|
2026-09-11 12:44:24 +00:00 |
|
pjh123
|
0302640056
|
fix: 调度标志经内联 state-swap 边界泄漏——C 侧无帧 accessor 调用继承属主调度上下文,构造帧弹出后误判提前交付、被调函数构造后字节码被跳过
根因:generator/async/construct 三个调度标志是 VM 全局字段,不经
InlineSyncState 在 state-swap 边界保存/恢复。C 侧路径(builtin 经
ordinary_get 无帧调用 accessor,走 call_bytecode_function_inline 状态
交换、不压边界帧)在生成器/异步属主 dispatch 上下文内运行时继承泄漏
标志;被调函数内 new 字节码构造器() 的构造帧是嵌套 dispatch 帧栈唯一
帧,构造器 RETURN 弹出后帧栈清空,do_return 的 frames.is_empty() &&
调度标志 误判为属主 dispatch,提前交付构造残留,被调函数构造点之后
的字节码整体不执行(getter 的 throw 被吞,属性读拿到 undefined)。
上层 FDI rest 绑定循环因此永不见 done,步数上限后初始化/恢复方把
异常折成通用错误。
修复:三标志纳入 InlineSyncState,新增 flag_zero 算子臂(save 快照
属主值并清零 VM 侧、restore 写回)——嵌套内联调用不继承外层调度
上下文。既有置位点全部在 save 之后、属主 dispatch 之前,语义不变;
do_return 交付条件注释同步更新。
回归钉:inline_dispatch_scoping_tests——C 侧 accessor 构造后 throw
穿透 instanceof Error、C 侧取值 42、字节码帧边界对照、顶层对照
(修复前两枚 C 侧钉失败)。
|
2026-09-11 11:14:10 +00:00 |
|
pjh123
|
430231236d
|
fix: 未声明标识符读写混合解析——读侧登记的全局槽写不穿透全局对象
未声明名由首次引用侧登记全局槽:读侧(LOAD_GLOBAL 槽)登记后,
后的写点只查写侧集合,补全局对象属性写被跳过——条件读走全局
属性、写落脚本内寄存器,脱节成死循环;更新式/复合式/逻辑赋值的
旧值又取自入口快照槽(读从不刷新槽),先读后写算出陈旧值。
写点隐式全局判定改读写登记集合取并(7 处),RMW 旧值读前经
LOAD_GLOBAL_TYPEOF 从全局对象取当前值(缺失按 undefined,sloppy
未解析引用 GetBaseValue 语义),读侧登记集合随继承绑定传入子
函数 ctx。
|
2026-09-11 10:14:56 +00:00 |
|
pjh123
|
9800e90a64
|
test: 新增对象图留存计数数值锚;基线口径注明 retained 至多一份引擎内部副本
|
2026-09-11 05:53:38 +00:00 |
|
pjh123
|
a5aab0077f
|
fix: for-in var 头撞既有绑定复用槽位消除顶层编译报错,迭代键写不可写全局内置接只读拦截
|
2026-09-10 05:56:10 +08:00 |
|
pjh123
|
1f37c4c9e6
|
fix: 全局 var 绑定 0x6F 按 CreateGlobalVarBinding 不更新既有不可写数据描述符,for-in 枚举断言修运算符优先级括号化
|
2026-09-10 05:55:03 +08:00 |
|
pjh123
|
c87edd404a
|
fix: 全局三常量描述符翻可配置,var 重复声明以 builtin 镜像值保留现存值
|
2026-09-10 04:16:08 +08:00 |
|
pjh123
|
7138c98da8
|
fix: 顶层只读全局赋值弱断言并入值保持强断言
|
2026-09-10 02:30:09 +08:00 |
|
pjh123
|
eabd0b3608
|
fix: 逻辑赋值标识符目标接入不可写全局内置拦截,目标位置内置预登记稳定槽解析
|
2026-09-10 02:30:09 +08:00 |
|
pjh123
|
479238dc24
|
fix: 函数对象(含 prototype 子对象)直接 session arena 分配——逃逸写不再克隆分裂 identity,类原型/super 派发完整,epoch 边界前 session 原地晋升 epoch 子引用防悬垂
|
2026-09-10 01:52:29 +08:00 |
|
pjh123
|
b77a9322e5
|
fix: 不可写全局内置(undefined/NaN/Infinity)寄存器镜像写编译期拦截——sloppy 静默 no-op、strict 抛 TypeError
|
2026-09-09 23:17:01 +08:00 |
|
pjh123
|
2457f283fe
|
fix: 顶层 var 全局属性求值前创建(声明定时语义)+ 无初始化 var 声明不再抹槽值
|
2026-09-09 22:00:29 +08:00 |
|
pjh123
|
bd1427b116
|
test: TDZ 单测补嵌套块/自引用/hoisted 读形状 + 固化单语句体 lexical 声明解析拒绝契约
|
2026-09-09 19:52:03 +08:00 |
|
pjh123
|
3f393b6acb
|
fix: eval 脚本 var 声明落全局 configurable:true——is_eval_script 穿透
|
2026-09-09 19:17:57 +08:00 |
|
pjh123
|
d9c2847730
|
fix: sloppy 未声明写隐式全局创建 + strict ReferenceError——DEFINE_GLOBAL_PROP_C 0x98
|
2026-09-09 18:44:38 +08: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
|
3cf6618ae7
|
feat: Temporal.Duration 补全——compare/subtract/equals/sign/blank/toJSON/toLocaleString + relativeTo 相对日历对齐
|
2026-09-09 15:14:49 +08:00 |
|
pjh123
|
f821f6838f
|
fix: CI 修复——emit_program 测试调用点补 repl_persist 参数 + clippy 告警清零 + 删空 bench_tests
|
2026-09-09 15:14:39 +08:00 |
|
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 |
|