Commit Graph

110 Commits

Author SHA1 Message Date
pjh123 6310e8c671 fix: eval 数组输出改读元素区 2026-09-26 12:40:47 +00:00
pjh123 27718f27d5 fix: run 臂失败传播退出码并停止打印完成值 2026-09-26 12:40:26 +00:00
pjh123 65ef05bcc4 feat: 逐指令 trace 补 pc 并加 eval/run --trace 旗标 2026-09-26 09:40:37 +00:00
pjh123 83ff9bbca1 feat: --version 嵌入构建期 git 哈希并新增新鲜度检查脚本 2026-09-26 07:04:55 +00:00
pjh123 68e0ad7fa1 fix: 类构造器属性序修正 + prototype 哨兵键枚举修复 2026-09-21 16:27:14 +00:00
pjh123 c458f9541b docs: 清理命令行工具注释的私有简称 2026-09-17 16:07:05 +00:00
pjh123 be06931380 bench: 新增每 VM BuiltinWorld 构造成本测量用例 2026-09-14 09:41:32 +00:00
pjh123 e5538d85d6 style: 泄漏检测用例注释与输出串修正——闭包用例写入机制改为 session 直分(无克隆),kernel_lifetime 输出串去计划档编号 2026-09-11 22:24:38 +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 a91d490f84 perf: kernel_lifetime 复跑边界 malloc_trim 归页——第二复跑增长相免部分残留页复用(热态斜率下界),doc 注明首测基线取冷跑、超阈漂移先按滞留归因 2026-09-11 20:58:03 +00:00
pjh123 df688f115d perf: kernel_lifetime 校准用例改 2 复跑 ×(JS 8192 对象固定段 + 191_704 唯一 14B 键增长)——11 采样点斜率首测仅记录不判定 + 旋钮 Some(262144) 端到端 + 重建后 entry_count→0 严格主锚,独立打印不进 report_series 判据 2026-09-11 20:53:42 +00:00
pjh123 c71f8bd54e perf: 增 kernel_lifetime 校准用例——专用 kernel 20 万唯一键 intern(1/4 物化)增长斜率首测基线(仅记录不判定)+ 寿命旋钮端到端 + 重建后 entry_count 200000→0 严格主锚,exit 仅由重建相确定性断言驱动 2026-09-11 20:20:00 +00:00
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 abad859893 docs: leak 用例注释去除内部任务编号标签(RSS 残差模型说明语义内容不变) 2026-09-11 19:43:45 +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 cb0168faa1 test: 新增 VmRSS 斜率采样工具与 VM 创建/选择性重建两条泄漏校准用例(bench leak 按 case 过滤分派) 2026-09-11 11:35:39 +00:00
pjh123 105f5085f0 bench: 基线注记生成端同步 retained 内部副本上界与 peak 采样口径 2026-09-11 06:03:12 +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 64f582d34b chore: rustfmt 全量格式化——CI fmt check 差异清零 2026-09-09 15:14:57 +08:00
pjh123 355230b745 fix: REPL 变量跨轮次丢失 —— let/const 脚本顶层写全局对象 2026-08-21 22:44:48 +08:00
pjh123 cf57285ebb feat: REPL 改进 — 消除全量历史拼接 + 单 VM 持久 2026-08-21 22:31:33 +08:00
pjh123 69ddb36fe9 test: cli 测试直调编译产物二进制,脱离 cargo run 递归 2026-08-16 15:02:04 +08:00
pjh123 fe8892079e chore: 全仓 rustfmt 格式化归拢 2026-08-16 12:50:36 +08:00
pjh123 350b65c091 perf: 字符串 +/+= 二元拼接改 Cons rope 惰性扁平化消除 O(n²)
JsString 拆 Flat/Cons 变体:Cons 经独立 ConsNode 保存左右子节点 + O(1)
字节长 + 惰性扁平化产物缓存(OnceLock 原子发布,产物挂节点生命周期)。
concat_strings 接线:总长 ≤ 128B 的小链急切扁平(与 rope 前同款,拼接即
消费场景零开销),大链 O(1) 链接——大段重复拼接从 O(n²) 拷贝降为 O(n)
链接,文本在消费点(.length/==/string_ref/方法族)首次扁平化后缓存。

GC 兼容:mark 收口 mark_string_live 传播 Cons 子节点与产物闭包(显式栈
防深链爆栈);sweep/full_reset 共用 drop 辅助连带释放产物;节点字节记账
用 O(1) byte_len。rope 节点登记 session 字符串表,与执行期字符串 GC
(指令边界触发)天然兼容。JsString 结构 32B 与 rope 前同 bin,小串路径
零结构回退;unsafe impl Send/Sync 论证同 StringPtr(perm 恒 Flat)。
2026-08-15 14:32:08 +08:00
pjh123 43a0c53ed7 feat: 拆分 stress benchmark 到细粒度单热点测试并修复 bench 采样逻辑 2026-08-13 14:27:20 +08:00
pjh123 078688070d feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置) 2026-08-10 23:02:31 +08:00
pjh123 020989a348 refactor: 清理 dead abstraction(oxide_api 空壳/空钩子/PersistentHeap/空目录) 2026-08-10 11:54:44 +08:00
pjh123 538a5670dc feat: Promise 基础子系统 + 微任务队列(resolve/reject/then/catch/finally + run() drain) 2026-08-09 21:08:53 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 d3385bc838 feat: 管线接入 liveness/精确DCE/RegAlloc + --no-regalloc flag(D-17/D-18) 2026-08-06 17:56:55 +08:00
pjh123 7a3b354f02 feat: compile 子命令新增 --no-dce flag 透传 Compiler(D-10)
- Commands::Compile 追加 #[arg(long)] no_dce 字段
- compile(expr, file, no_dce) 按 flag 选择 Compiler::new().with_dce(false)
- eval/run/repl 走默认 enable_dce=true 不变
2026-08-06 11:48:30 +08:00
pjh123 263fd255b6 docs: 添加 Rustdoc 注释 2026-08-05 21:46:47 +08:00
pjh123 e4a46c31bf feat: run --repeat N 支持单进程内多次 eval 复用 Kernel
OxideJS 架构优势: 一个 Kernel + VmPool 跑 N 次 eval,
arena 每轮 O(1) reset, 内存稳定不增长

(cherry picked from commit 05d0c25aba419fa31e22b8bc325cc4b08de6c403)
2026-06-30 12:42:57 +08:00
pjh123 d08ed7c3dd feat: CLI/test262 全管线接入结构化日志 2026-06-27 09:39:08 +08:00
pjh123 ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
pjh123 cdd709ef03 feat: 添加基准测试基础设施 2026-06-24 10:46:59 +08:00
pjh123 be87e4e21b refactor: 拆分 bytecode/cache crate 并模块化 counter 2026-06-23 17:06:39 +08:00
pjh123 246ad72540 refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
pjh123 f77499e5cd style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
pjh123 6cb781a3bd fix: 修复数组长度与槽位索引截断问题 2026-06-08 22:55:52 +08:00
pjh123 4a9ad7b1fa style: 自动格式化 2026-06-07 23:56:17 +08:00
pjh123 29eb9170c0 feat: CLI 支持 JSON 对象输出 2026-06-07 23:47:59 +08:00
pjh123 f725d81b36 refactor: 哈希表存储属性以支持无上限属性个数 2026-06-07 15:25:47 +08:00
pjh123 c95825d66c fix: 修复 Object 的输出格式 2026-06-07 02:04:57 +08:00
pjh123 9ca35d75e0 feat: 支持 Object 成员方法 2026-06-07 01:59:30 +08:00
pjh123 ebb169a63b test: 拆分 VM 测试并新增多项测试 2026-06-06 15:41:28 +08:00
pjh123 5bb50aeda9 feat: CLI REPL 支持符号表与多行输入 2026-06-06 10:32:09 +08:00
pjh123 95bca9c58b fix: 修复 CLI 产生多 kernel 问题 2026-06-06 00:26:04 +08:00