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 |
|
pjh123
|
1886840675
|
feat: 将 kernel 接入 CLI 流程
|
2026-06-05 23:57:09 +08:00 |
|
pjh123
|
7b862023a7
|
refactor: 将基础类型定义放在单独 crate 以解决循环依赖
|
2026-06-05 22:50:06 +08:00 |
|
pjh123
|
fa429f4507
|
feat: CLI 输出字符串两侧添加双引号以与数字区分
|
2026-06-05 19:54:30 +08:00 |
|
pjh123
|
97ec7029af
|
feat: CLI 输出代码执行结果
|
2026-06-05 19:42:55 +08:00 |
|
pjh123
|
9e6cb0f02b
|
feat: CLI 可执行 JS 语句输出值
|
2026-06-05 03:31:48 +08:00 |
|
pjh123
|
3fa3d0b5b0
|
test: 同步更新修复后语义测试
|
2026-06-05 03:30:27 +08:00 |
|
pjh123
|
667e730ffe
|
feat: CLI 支持 REPL 编译到字节码
|
2026-06-05 03:02:52 +08:00 |
|
pjh123
|
2f1d666ed6
|
feat: 添加编译器集成测试与 CLI 编译命令
|
2026-06-05 02:59:09 +08:00 |
|
pjh123
|
cea52a6d8d
|
feat: 实现 CLI 程序并支持 AST 解析
|
2026-06-05 01:41:00 +08:00 |
|
pjh123
|
0741e99e1b
|
chore: 搭建基础仓库架构
|
2026-06-05 01:06:53 +08:00 |
|