pjh123
|
4c3ac707f7
|
fix: 直 session 分配站(函数对象/prototype 子对象/标签模板数组)补 session 堆账目,配单 run 分配包络高水位 O(1) 采样锚与执行期 churn 峰值校准用例
|
2026-09-11 19:44:07 +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
|
b17119ce16
|
fix: 脏重建方法 wrapper/构造器/global 槽跨轮复用迁移——FnWrapperKey 四分件键(加 label 消解同名原型 next/return/throw 碰撞)登记表继承止 S2 每轮 wrapper 无界累积,global 槽原位更新堵住旧构造器滞留 UAF 与每轮 +3 槽无界增长
|
2026-09-11 18:06:19 +00:00 |
|
pjh123
|
4095ad2c1d
|
fix: JS 重入边界 hop 计数每 64 跳强制顶层分配上限采样——堵 native 泵送小重入双上限结构性永不采样盲区
|
2026-09-11 16:29:38 +00:00 |
|
pjh123
|
ee32b2c682
|
fix: 选择性重建收尾重指保留对象 proto 槽并恰好释放一次被替换旧 P 对象属性区——含保活钉住对属性区,本体钉保留作重指遗漏兜底
|
2026-09-11 13:34:47 +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
|
54f99a292b
|
fix: 深采样重算与手工堆账目双计——run_alloc_bytes_full base 只取 arena 计数器
|
2026-09-11 08:54:03 +00:00 |
|
pjh123
|
b13a379bda
|
doc: 晋升方法补执行外安全点前提注记;基线口径注明 peak 采样点与盲区
|
2026-09-11 05:54:22 +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
|
a5258f2739
|
fix: intrinsic ctor prototype 属性指向 P 槽唯一实例——消除 Box 释放悬垂与实例 [[Prototype]] identity 分裂
|
2026-09-11 02:02:41 +00:00 |
|
root
|
81f05b49a2
|
fix: debug-only 字符串边记录函数加 cfg 门,消除 release 死代码告警
|
2026-09-10 08:21:43 +00:00 |
|
root
|
1b87e212f9
|
test: 新增内存占用基准用例与留存内存采集
bench 每轮采集在 workload 后 promote 根持有/会话引用的 epoch 对象并强制
一次 full GC,新增 peak_bytes / retained_bytes / retained_objects 三口径
(原 session_* 字段为执行期累计分配,不反映 workload 后留存);dispatch
循环增加 session 堆高水位采样,VM 暴露 session_bytes_peak 与
collect_session_gc。新增 8 个 mem_* 压力用例(对象图/字符串/闭包链/数组
增删/跨调用保留/Map/Set 保留/字符串拼接),基线扩至 76 条目。
|
2026-09-10 08:18:52 +00: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
|
479238dc24
|
fix: 函数对象(含 prototype 子对象)直接 session arena 分配——逃逸写不再克隆分裂 identity,类原型/super 派发完整,epoch 边界前 session 原地晋升 epoch 子引用防悬垂
|
2026-09-10 01:52:29 +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
|
9a2579fe9c
|
fix: GET_TEMPLATE_OBJECT 漏登 ext_word_count——ic 缓存扫描错位修复
|
2026-08-22 11:30:03 +08:00 |
|
pjh123
|
e460a1aea1
|
feat: DataView getFloat16/setFloat16
|
2026-08-22 11:15:55 +08:00 |
|
pjh123
|
0ffb5d2cf3
|
fix: tagged template 语义修正——cooked undefined/this绑定/site缓存/冻结 + groupBy getter 异常传播 + defineGetter setter 保留
|
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
|
d2572682dc
|
fix: generator/async native 状态 session 字符串 GC 标记修复
|
2026-08-22 08:50:41 +08:00 |
|
pjh123
|
c66dd81134
|
perf: BigInt 参与回收——对齐字符串 GC 路径
- SessionGc 新增 live_bigints 集合,mark 阶段扫描根与对象边标记存活 BigInt
- process_edge 扩展 BigInt 值处理,scan_edges_for_mark 透传 live_bigints
- 新增 sweep_session_bigints:按存活标记清扫不活跃 BigInt box
- collect/collect_strings_only 收集流程接入 BigInt 清扫
- should_collect/should_collect_gc/should_collect_strings 纳入 BigInt 存在性判定
- for_each_value 新增 immutables_cache 根扫描,防止常量池 BigInt 被误回收
- 13 个 gc_runtime_tests 全部 PASS,无新增 clippy 警告
|
2026-08-22 08:46:00 +08:00 |
|
pjh123
|
8e47168168
|
perf: mark 边收集去临时 Vec、合并双遍遍历
|
2026-08-22 08:23:31 +08:00 |
|
pjh123
|
469ef7543b
|
perf: GC 字节账目补齐 + is_epoch_ptr O(1) + 分配热路径触发
|
2026-08-22 08:10:32 +08:00 |
|
pjh123
|
95155ce450
|
fix: Promise rejection reason 异常值通道配对修复——create_error 辗转路径归正为 create_from_text
|
2026-08-21 23:34:04 +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
|
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
|
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 |
|