pjh123
|
5df04a8e58
|
chore: 全仓 rustfmt 格式化归拢
|
2026-08-16 12:50:36 +08:00 |
|
pjh123
|
2239eeac24
|
perf: 字节码调用压帧窗口按调用点存活上界拷贝减少整窗搬移
RegAlloc 改写后补第三次 liveness,为每条 CALL/NEW/SUPER_CALL 计算调用点
存活上界(最大存活物理槽号 + 1,254/255 由帧单独保存不计入),编码进
ext 高 8 位(nargs 低 8 位不变)。三处手写压帧窗口 = min(调用方活动寄存
器, 存活上界),restore_frame 按窗口回拷;CallFrame 新增
caller_active_reg_limit 保存调用方真实活动上限,恢复时不随截断窗口缩水。
生成器/异步函数体调用点保持全量窗口。spread 调用与运行时发起压帧
(accessor/内联)走全量路径不受影响。
|
2026-08-15 09:56:22 +08:00 |
|
爱特每羊队
|
4303462d19
|
feat: compiler/test262 runner 接线 + 模块顶层 this 绑定
- Compiler::compile_module:Emitter::emit_program_module → 统一 IR 管线(DCE/regalloc/lower/flatten)
- CompiledModule.is_es_module:VM run 时模块顶层 this=undefined(脚本仍为全局对象)
- 全局注册 __moduleLinkGet
- test262 runner:Test262ModuleLoader(相对路径解析 + import attributes 判定 json/text/bytes),is_module 走 compile_module
|
2026-08-12 17:37:33 +08:00 |
|
爱特每羊队
|
d3ed1113ef
|
feat: 编译管线/类型层 crate 补全多级日志宏 + 关键路径日志
|
2026-08-10 17:56:28 +08:00 |
|
爱特每羊队
|
c90c610e15
|
perf: 子模块树改 Arc 共享,run() 免深拷贝模块树
|
2026-08-10 17:23:29 +08:00 |
|
爱特每羊队
|
eaf4825e4f
|
perf: 函数调用 bytecode 改 Arc 共享(O(1) 帧切换 + IC 写时复制)
|
2026-08-10 15:08:51 +08:00 |
|
爱特每羊队
|
56ef0efec5
|
fix: 结构哈希补全全部变体(消除 code cache 确定性碰撞)
|
2026-08-10 11:49:50 +08:00 |
|
爱特每羊队
|
915dedb151
|
feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复)
|
2026-08-09 11:08:36 +08:00 |
|
爱特每羊队
|
3a8bf56a68
|
fix: 全量单测修复(flatten 健壮性 + 测试链路补 flatten + 断言对齐规范)
|
2026-08-08 16:03:24 +08:00 |
|
爱特每羊队
|
6c7b10d6c5
|
feat: 对象字面量 spread({...obj} 展开可枚举自有属性)
|
2026-08-08 11:24:09 +08:00 |
|
爱特每羊队
|
d1675c217d
|
fix(vm): 子模块全局扁平化根治逃逸闭包上下文错位
|
2026-08-07 10:49:15 +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 |
|
爱特每羊队
|
bbba23b93a
|
feat(compiler): Compiler 增加 enable_dce 字段与 with_dce 开关(D-10)
- unit struct 改带字段 struct,new() 默认开启 DCE
- compile 在 emit 与 lower 之间插入 oxide_dce::dce(nested 不递归 D-03)
- Cargo.toml 追加 oxide_dce path 依赖;dev 环经 resolver v2 解析通过
|
2026-08-06 11:45:26 +08:00 |
|
爱特每羊队
|
f461235f04
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
爱特每羊队
|
bbdfca1a1c
|
refactor(compiler): 拆分 oxide_emit 为独立 emit pass crate(依赖倒置)
|
2026-08-05 20:13:18 +08:00 |
|
爱特每羊队
|
9f02985a82
|
refactor(ir): 拆分 oxide_ir 为独立 crate
|
2026-08-05 19:34:44 +08:00 |
|
爱特每羊队
|
b93847564e
|
refactor(compiler): 拆分闭包分析与预扫描模块,拆分函数体编译子步骤
|
2026-08-05 19:29:02 +08:00 |
|
爱特每羊队
|
b611e26f11
|
fix(compiler): 完善闭包捕获(cell 索引稳定、参数遮蔽、函数/类名捕获、b 槽立即数)
|
2026-08-05 19:19:29 +08:00 |
|
爱特每羊队
|
3390b61453
|
fix(compiler): 重写闭包捕获分析为 AST 级,修复 MAKE_CELL 时序
|
2026-08-05 18:41:48 +08:00 |
|
爱特每羊队
|
845ba2884a
|
chore(compiler): 清理过时 dead_code 标注与空代码块
|
2026-08-05 18:26:46 +08:00 |
|
爱特每羊队
|
3931d2062e
|
refactor(compiler): 抽取 assemble_ir 共用出口组装
|
2026-08-05 17:55:32 +08:00 |
|
爱特每羊队
|
1c328f5081
|
refactor(compiler): 原子切换 emit 产出符号化 IR
|
2026-08-05 17:52:42 +08:00 |
|
爱特每羊队
|
097153ec08
|
feat(ir): 实现 IRFunction 到字节码的 lowering 转换
|
2026-08-05 17:24:35 +08:00 |
|
爱特每羊队
|
2a3a9a1412
|
feat(ir): 新增 Operand/Inst/IRFunction 类型系统与构造 API
|
2026-08-05 17:17:51 +08:00 |
|
爱特每羊队
|
22f1275f6b
|
fix: 修复编译阶段缺失的预注册顶层 var 名步骤
|
2026-08-05 15:21:00 +08:00 |
|
爱特每羊队
|
0d16d509b2
|
fix: 逐个按顺序处理 field 与 block 以符合 JS 类元素源码顺序语义
|
2026-08-05 15:04:44 +08:00 |
|
爱特每羊队
|
211cbe2f5d
|
fix: 编译阶段预扫描 builtin 避免寄存器分配问题
|
2026-08-05 13:28:51 +08:00 |
|
爱特每羊队
|
8ee6781795
|
refactor(compiler): finalize single pass compilation
|
2026-08-05 10:27:30 +08:00 |
|
爱特每羊队
|
0f78f341fa
|
refactor(compiler): remove class count helpers
|
2026-08-05 10:27:29 +08:00 |
|
爱特每羊队
|
fd4172203e
|
refactor(compiler): remove expression count helpers
|
2026-08-05 10:27:29 +08:00 |
|
爱特每羊队
|
b8bb208825
|
refactor(compiler): remove iteration count helpers
|
2026-08-05 10:27:29 +08:00 |
|
爱特每羊队
|
4a2bf09f78
|
refactor(compiler): remove statement jump count helpers
|
2026-08-05 10:27:28 +08:00 |
|
爱特每羊队
|
faa326c039
|
refactor(compiler): remove simple expression count helpers
|
2026-08-05 10:27:28 +08:00 |
|
爱特每羊队
|
3ce7fd587d
|
refactor(compiler): remove statement count helpers
|
2026-08-05 10:27:28 +08:00 |
|
爱特每羊队
|
638da1f481
|
refactor(compiler): compile modules in one pass
|
2026-08-05 00:49:13 +08:00 |
|
爱特每羊队
|
f4897c30bc
|
refactor(compiler): resolve logical assignments through fixups
|
2026-08-05 00:42:02 +08:00 |
|
爱特每羊队
|
01bcde2656
|
refactor(compiler): emit optional chain jumps through fixups
|
2026-08-05 00:38:11 +08:00 |
|
爱特每羊队
|
58b998a32d
|
refactor(compiler): emit logical jumps through fixups
|
2026-08-05 00:34:39 +08:00 |
|
爱特每羊队
|
510a0dd96e
|
refactor(compiler): emit loop jumps through fixups
|
2026-08-05 00:30:45 +08:00 |
|
爱特每羊队
|
ff400c47c2
|
refactor(compiler): emit control jumps through fixups
|
2026-08-05 00:24:12 +08:00 |
|
爱特每羊队
|
ac818b0821
|
feat(compiler): add deferred jump fixups
|
2026-08-04 21:10:10 +08:00 |
|
爱特每羊队
|
3389fe40ef
|
refactor: 拆分 class 相关编译逻辑
|
2026-07-05 19:13:58 +08:00 |
|
爱特每羊队
|
13cf9127e3
|
refactor: 清除旧代码并展开 crate
|
2026-07-05 18:43:22 +08:00 |
|
爱特每羊队
|
0511f318ac
|
fix: 修复 SET_PROP_DYNAMIC 额外寄存器计数问题
|
2026-07-05 15:55:27 +08:00 |
|
爱特每羊队
|
41552dca5a
|
refactor: 按逻辑归类 emit 和 count 函数,并消除通配导入
|
2026-07-05 15:35:58 +08:00 |
|
爱特每羊队
|
ff6de1e4e7
|
refactor: 拆分编译流水线过程以避免逻辑漂移
|
2026-07-05 14:41:08 +08:00 |
|
爱特每羊队
|
a4c13c4f6a
|
fix: 接通透传闭包值链路
|
2026-06-30 23:57:22 +08:00 |
|
爱特每羊队
|
a17f98b02d
|
fix: 修复闭包值传递链路
|
2026-06-30 22:52:25 +08:00 |
|
爱特每羊队
|
1b25cc1578
|
fix: 分析时跳过继承作用域,避免将外层 var 误判为嵌套函数本地变量
|
2026-06-30 22:05:46 +08:00 |
|