pjh123
|
f416f49113
|
test: cli 测试直调编译产物二进制,脱离 cargo run 递归
|
2026-08-16 15:02:04 +08:00 |
|
pjh123
|
5df04a8e58
|
chore: 全仓 rustfmt 格式化归拢
|
2026-08-16 12:50:36 +08:00 |
|
pjh123
|
f2535ffc77
|
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
|
687c933891
|
feat: 拆分 stress benchmark 到细粒度单热点测试并修复 bench 采样逻辑
|
2026-08-13 14:27:20 +08:00 |
|
爱特每羊队
|
7e3d7b43b5
|
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
|
2026-08-10 23:02:31 +08:00 |
|
爱特每羊队
|
00d547b395
|
refactor: 清理 dead abstraction(oxide_api 空壳/空钩子/PersistentHeap/空目录)
|
2026-08-10 11:54:44 +08:00 |
|
爱特每羊队
|
dcbe3d9320
|
feat: Promise 基础子系统 + 微任务队列(resolve/reject/then/catch/finally + run() drain)
|
2026-08-09 21:08:53 +08:00 |
|
爱特每羊队
|
328b8a3ddc
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
爱特每羊队
|
a763e7ab75
|
feat(compiler): 管线接入 liveness/精确DCE/RegAlloc + --no-regalloc flag(D-17/D-18)
|
2026-08-06 17:56:55 +08:00 |
|
爱特每羊队
|
1a235f748b
|
feat(cli): 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 |
|
爱特每羊队
|
f461235f04
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
爱特每羊队
|
eba3c1efb7
|
feat(cli): 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 |
|
爱特每羊队
|
a34d54784c
|
feat: CLI/test262 全管线接入结构化日志
|
2026-06-27 09:39:08 +08:00 |
|
爱特每羊队
|
466a0815ca
|
refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner
|
2026-06-24 20:15:15 +08:00 |
|
爱特每羊队
|
f602ae5f00
|
feat: 添加基准测试基础设施
|
2026-06-24 10:46:59 +08:00 |
|
爱特每羊队
|
dbc15f6d1f
|
refactor: 拆分 bytecode/cache crate 并模块化 counter
|
2026-06-23 17:06:39 +08:00 |
|
爱特每羊队
|
d242d08e6d
|
refactor: 拆分 Kernel 中可变 Session 与不可变 Core
|
2026-06-14 12:58:09 +08:00 |
|
爱特每羊队
|
5d1d25074e
|
style: 减少自动格式化换行
|
2026-06-09 00:53:46 +08:00 |
|
爱特每羊队
|
e57e140bef
|
fix: 修复数组长度与槽位索引截断问题
|
2026-06-08 22:55:52 +08:00 |
|
爱特每羊队
|
c018bdc336
|
style: 自动格式化
|
2026-06-07 23:56:17 +08:00 |
|
爱特每羊队
|
9041edeb13
|
feat: CLI 支持 JSON 对象输出
|
2026-06-07 23:47:59 +08:00 |
|
爱特每羊队
|
f6e635cdbe
|
refactor: 哈希表存储属性以支持无上限属性个数
|
2026-06-07 15:25:47 +08:00 |
|
爱特每羊队
|
4552bbcc57
|
fix: 修复 Object 的输出格式
|
2026-06-07 02:04:57 +08:00 |
|
爱特每羊队
|
382441bec4
|
feat: 支持 Object 成员方法
|
2026-06-07 01:59:30 +08:00 |
|
爱特每羊队
|
5c8e41352a
|
test: 拆分 VM 测试并新增多项测试
|
2026-06-06 15:41:28 +08:00 |
|
爱特每羊队
|
ec165c4540
|
feat: CLI REPL 支持符号表与多行输入
|
2026-06-06 10:32:09 +08:00 |
|
爱特每羊队
|
609c838cdb
|
fix: 修复 CLI 产生多 kernel 问题
|
2026-06-06 00:26:04 +08:00 |
|
爱特每羊队
|
f890371916
|
feat: 将 kernel 接入 CLI 流程
|
2026-06-05 23:57:09 +08:00 |
|
爱特每羊队
|
91d4d135fa
|
refactor: 将基础类型定义放在单独 crate 以解决循环依赖
|
2026-06-05 22:50:06 +08:00 |
|
爱特每羊队
|
8a1d0e8dc6
|
feat: CLI 输出字符串两侧添加双引号以与数字区分
|
2026-06-05 19:54:30 +08:00 |
|
爱特每羊队
|
15eb2c74db
|
feat: CLI 输出代码执行结果
|
2026-06-05 19:42:55 +08:00 |
|
爱特每羊队
|
20726da808
|
feat: CLI 可执行 JS 语句输出值
|
2026-06-05 03:31:48 +08:00 |
|
爱特每羊队
|
02d9fbdcfb
|
test: 同步更新修复后语义测试
|
2026-06-05 03:30:27 +08:00 |
|
爱特每羊队
|
b65a0678f2
|
feat: CLI 支持 REPL 编译到字节码
|
2026-06-05 03:02:52 +08:00 |
|
爱特每羊队
|
160e972f77
|
feat: 添加编译器集成测试与 CLI 编译命令
|
2026-06-05 02:59:09 +08:00 |
|
爱特每羊队
|
d7807e51bd
|
feat: 实现 CLI 程序并支持 AST 解析
|
2026-06-05 01:41:00 +08:00 |
|
爱特每羊队
|
36d3352318
|
chore: 搭建基础仓库架构
|
2026-06-05 01:06:53 +08:00 |
|