Commit Graph

47 Commits

Author SHA1 Message Date
pjh123 55727a2e01 perf: should_rebuild_perm 改 advisory 建议上限 Option——键数超阈值(严格大于)返回 Some(阈值取 2 的幂后加倍) 供宿主重建后写入新 kernel 不再立即触顶,预设 None 恒 None,3 单测钉默认/恰阈值/未达三面 2026-09-11 20:53:42 +00:00
pjh123 b8167d4d84 perf: kernel 寿命配置化——零消费者死旋钮 max_dead_strings 换 advisory 重建阈值 perm_interner_max_entries(预设全 None 零漂移)+ KernelCore::should_rebuild_perm 宿主边界查询,3 单测钉默认面/阈值面/未达阈值面 2026-09-11 20:20:00 +00:00
pjh123 ee32b2c682 fix: 选择性重建收尾重指保留对象 proto 槽并恰好释放一次被替换旧 P 对象属性区——含保活钉住对属性区,本体钉保留作重指遗漏兜底 2026-09-11 13:34:47 +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 c87edd404a fix: 全局三常量描述符翻可配置,var 重复声明以 builtin 镜像值保留现存值 2026-09-10 04:16:08 +08:00
pjh123 c514ab35a3 feat: 实现 console 全局对象 (log/warn/error/info/debug/trace) 2026-08-21 22:29:21 +08:00
pjh123 e100bfb8b4 feat: SuppressedError 内置错误实现(三字段属性序 + 构造器接线) 2026-08-16 19:04:09 +08:00
pjh123 9f13d107ec feat: Iterator helpers 基建——Symbol.dispose 注册与 %IteratorHelperPrototype% 2026-08-16 14:44:47 +08:00
pjh123 c59ad64e7d fix: 全局构造器与内置对象属性改非枚举与规范对齐 2026-08-16 02:29:42 +08:00
pjh123 4f80fb4fb6 fix: builtin 快照数组与枚举判别值错位致符号/时间族永久脏 2026-08-14 05:50:46 +08:00
pjh123 62991cfa4b feat: 新增 Symbol.species well-known symbol 绑定(Symbol.species 解析/键槽/内建对象) 2026-08-12 12:50:53 +08:00
pjh123 66712e05a5 feat: Temporal PlainDateTime 基础实现 2026-08-11 21:32:15 +08:00
pjh123 90a162d39a feat: Temporal Instant 时区转换 2026-08-11 20:54:25 +08:00
pjh123 b9686e000d feat: Temporal 时长差值与纯日期差值 2026-08-11 12:38:31 +08:00
pjh123 078688070d feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置) 2026-08-10 23:02:31 +08:00
pjh123 924b8fd4e0 feat: Temporal 最小子集(Temporal.Now/Instant/PlainDate/PlainTime) 2026-08-10 18:18:39 +08:00
pjh123 a5a910a24e feat: for-await-of + Symbol.asyncIterator + AsyncFromSyncIterator 2026-08-10 03:21:37 +08:00
pjh123 826d9fd0a2 feat: RegExp.prototype 实现 Symbol.match/replace/search/split/matchAll 2026-08-08 22:33:32 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 263fd255b6 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +08:00
pjh123 da75f3a214 perf: 字符串拼接用 push_to_string 消去中间分配, GC阈值 8M→32M
- oxide_runtime_api 新增 push_to_string: 直接将 JsValue 写入 String buffer
- dispatch_add / dispatch_compound_add 复用 Vm::string_buf, 每次concat从4次分配降到1次
- vm_support 新增 new_string_owned 接受 String 转移所有权
- kernel session_gc_threshold 8MB→32MB 减少频繁 GC
- build.sh: make clean 清跨平台 .obj 残留

(cherry picked from commit ad7b044a5a24b23819d783c5419d3e33f936dfc5)
2026-06-30 12:42:57 +08:00
pjh123 b18654fe5f feat: Symbol.hasInstance 支持 instanceof 双路径分派 2026-06-27 22:53:04 +08:00
pjh123 2da5e2f820 feat: 注册 Symbol.toPrimitive well-known symbol 2026-06-27 10:30:25 +08:00
pjh123 fc59505116 feat: 为内核构造、BuiltinWorld 初始化、ShapeForge/StringForge/CodeForge 添加结构化日志 2026-06-26 21:09:36 +08:00
pjh123 e4abfd7599 refactor: 迁出日志宏,移除直接依赖 2026-06-26 18:53:48 +08:00
pjh123 f0f7cbc91c refactor: 将 BuiltinSnapshot 重构为数组并引入 BuiltinId 枚举 2026-06-26 16:27:49 +08:00
pjh123 ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
pjh123 bb4ce39e50 feat: CodeForge 改用有界 Mutex<LruCache>,KernelConfig 新增 max_cached_modules 2026-06-24 16:17:40 +08:00
pjh123 1815958b11 refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动 2026-06-24 12:12:44 +08:00
pjh123 2d166cbfa5 fix: 修复全局边界安全与内存稳定性问题 2026-06-22 19:43:00 +08:00
pjh123 862e8585f8 feat: 添加 session arena 标记清扫 GC 2026-06-16 23:09:36 +08:00
pjh123 fec34de2a5 feat: 添加 BuiltinWorld 选择性重建 2026-06-15 21:11:53 +08:00
pjh123 976482ee30 feat: 添加 BuiltinSnapshot 脏检测 2026-06-15 21:02:33 +08:00
pjh123 111c61d4d7 style: 自动格式化 2026-06-14 17:21:49 +08:00
pjh123 246ad72540 refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
pjh123 551695bfad refactor: 扁平化对象属性存储并优化常量池与 IC 热路径 2026-06-13 23:59:47 +08:00
pjh123 1a7a5b2cbc feat: 添加 Kernel 与 VM 分层结构化日志 2026-06-13 18:59:41 +08:00
pjh123 f77499e5cd style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
pjh123 997e64ff61 fix: 将 VM 步数上限改为 KernelConfig 可配置项 2026-06-08 21:46:08 +08:00
pjh123 ab1a9b7a3c feat: 支持 Infinity 常量 2026-06-07 23:11:26 +08:00
pjh123 92bf2e68fb fix: 配置限制递归层数解决死循环问题 2026-06-07 19:27:48 +08:00
pjh123 f725d81b36 refactor: 哈希表存储属性以支持无上限属性个数 2026-06-07 15:25:47 +08:00
pjh123 439b61e359 feat: 搭建原生函数基础设施 2026-06-07 01:07:45 +08:00
pjh123 efbecd62ca refactor: StringForge 规范化类型命名 2026-06-05 23:24:07 +08:00
pjh123 7b862023a7 refactor: 将基础类型定义放在单独 crate 以解决循环依赖 2026-06-05 22:50:06 +08:00
pjh123 fecdd981f9 feat: 添加全局 VM 池与 RAII 泄漏保护 2026-06-05 22:25:22 +08:00
pjh123 20469c175c feat: 实现全局单例缓存管理内核 2026-06-05 22:15:59 +08:00