Commit Graph

100 Commits

Author SHA1 Message Date
pjh123 c4b441a1a8 feat: CustomEvent 载荷盒加 GC 加构造器加原型 2026-10-11 08:30:14 +00:00
pjh123 21932522cf feat: ErrorEvent 载荷盒加 GC 加构造器加原型加 onerror 整合 2026-10-10 16:32:58 +00:00
pjh123 1633512d5f feat: MessageEvent 载荷盒加 GC 加构造器加原型加交付整合 2026-10-10 14:17:25 +00:00
pjh123 e2f82df9fc style: 格式化事件目标与 gc 会话文件 2026-10-10 10:37:11 +00:00
pjh123 6ecd3aed89 feat: 事件目标弱引用注册表加三方法加原型链 2026-10-10 09:06:08 +00:00
pjh123 8a8c3e9b9c feat: 新增 Event 基类载荷盒、GC 接线、构造器与原型绑定 2026-10-10 08:24:13 +00:00
pjh123 2b18c4d264 feat: mapped arguments defineProperty 后参数与 arguments 再同步 2026-10-09 23:27:18 +00:00
pjh123 b20e38a5e2 feat: BroadcastChannel 构造器方法与绑定与注册表剪枝 2026-10-09 05:37:25 +00:00
pjh123 2dc543b176 feat: BroadcastChannel 载荷盒与 GC 家族表接线 2026-10-09 04:39:22 +00:00
pjh123 10628928bc feat: 端口载荷盒接入 GC 家族表并移消息队列至内核 2026-10-09 03:34:56 +00:00
pjh123 372bb80cfd style: 修 rustfmt 格式化差异 2026-10-07 17:14:42 +00:00
pjh123 c6bc93a076 refactor: realm 与 Vm 生命周期解耦,Vm 持 Arc<Realm> 2026-10-07 01:35:16 +00:00
pjh123 14ef287a75 refactor: 提取 Realm 组合类型,session 与 GC 及原型槽归 realm 2026-10-07 00:13:24 +00:00
pjh123 add910a504 feat: GC mark 播种按 24 根组计数,修正 roots 日志口径 2026-10-06 23:32:28 +00:00
pjh123 43acaacd08 refactor: 退役根重写镜像与对象克隆重写族,保留原地 sweep 弱键定夺 2026-10-02 19:24:56 +00:00
pjh123 ab0b874281 refactor: 晋升族整文件退役加生产调用点清理 2026-10-02 16:55:04 +00:00
pjh123 ce8bd6682c perf: 账目公式切手工口径退役 arena 计数器 2026-10-01 10:35:29 +00:00
pjh123 b4e36fc147 style: 冗余闭包改函数路径并补文档段空行 2026-10-01 09:42:20 +00:00
pjh123 d7f54e331a style: 折叠签名与调用折行对齐格式检查 2026-10-01 09:37:54 +00:00
pjh123 5c8699733d refactor: 收集路径原地化退役移动式sweep与门控 2026-10-01 09:06:23 +00:00
pjh123 1711ae948b perf: 对象统一入口 Box 化合并对象表退役晋升档 2026-10-01 06:39:51 +00:00
pjh123 c671a6cfb0 refactor: for-in 迭代器体脱离 epoch arena 改堆上 Box 独占释放 2026-09-29 16:10:15 +00:00
pjh123 daddd9a64d fix: GC mark 跟随 perm 对象边,builtin 原型 session 子引用不再悬垂 2026-09-27 03:24:16 +00:00
pjh123 00a8e9a2bd refactor: mark 边链归一为 native 家族分类器驱动 2026-09-27 02:05:53 +00:00
pjh123 78953e338b fix: upvalue cell 参与 mark-sweep 回收,闭合长 run 死闭包 cell 泄漏 2026-09-26 18:27:21 +00:00
pjh123 d0b47a6610 fix: 补晋升域弱键定夺 in-run 钉与文档前提 2026-09-24 07:33:50 +00:00
pjh123 ac6a6d9e59 feat: WeakMap 条目表与 GC 六站点弱边接线 2026-09-24 06:22:15 +00:00
pjh123 3d50306853 feat: SharedArrayBuffer 最小构造器与载荷生命周期 2026-09-23 12:44:05 +00:00
pjh123 8e22c48b70 fix: RegExp source/flags 原型访问器与 GC 根追踪 2026-09-21 14:56:19 +00:00
pjh123 9b4f1e916d fix: 装箱对象被包基元改专属载荷字段免槽位错位 2026-09-20 04:28:20 +00:00
pjh123 cafac572fa feat: 模块命名空间导出条目表与预注册 2026-09-17 23:47:04 +00:00
pjh123 505cc4ff47 docs: 补齐会话垃圾回收注释并去除历史措辞 2026-09-17 13:54:31 +00:00
pjh123 f34a863cc8 refactor: session_gc 测试块移入独立文件 2026-09-16 17:25:24 +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 50674ee4f5 builtins/vm: matchAll 编译正则载体专型标签,释放/深拷贝经 RegExp 同一守卫,止逐调用 Box 泄漏 2026-09-13 11:05:52 +00:00
pjh123 1fd3bbf9e0 test: promise 结算值与挂起帧 BigInt 唯一引用 unit 级确定钉——完整收集后仍登记 session 表 2026-09-13 09:05:57 +00:00
pjh123 473f73a1f6 fix: 原生盒 mark 边收集去对象预过滤——盒内字符串/BigInt 边并入 live 标记闭合 sweep 悬垂 2026-09-12 18:10:03 +00:00
pjh123 e368751f59 fix: 晋升 Promise 克隆迁移原件 reactions 并接结算链——in-run collect 后结算走克隆引用时原件侧消费者永久丢失洞闭合 2026-09-12 17:22:51 +00:00
pjh123 44c16cab8a fix: 顶层 var 读写直连全局对象属性单一真值——GDI 序言 + 声明处同步删除,类原型 session 直分防晋升克隆 identity 分裂,自增减 int 保持 2026-09-12 15:48:32 +00:00
pjh123 390b72e3bd perf: 执行期 GC 收集——扩展 mark 跟随 epoch 臂、活 epoch 对象晋升 session(克隆体置活防同轮原地 sweep 误放)、死 session 对象原地释放出表,for-in 门控(活跃迭代器 + 挂起状态盒)与分配包络水位触发 2026-09-12 00:25:56 +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 487c6a9559 fix: sweep 死对象分支释放死闭包 upvalue 列表 Box(死对象不克隆、Box 独占,恰好一次释放后置空防收尾双放),配 mem_closure_dead_leak RSS 斜率校准用例 2026-09-11 18:32:43 +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
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 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 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