pjh123
|
d9acda7417
|
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 |
|
pjh123
|
df23fdff39
|
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 |
|
pjh123
|
8a53bfb584
|
feat: 编译管线/类型层 crate 补全多级日志宏 + 关键路径日志
|
2026-08-10 17:56:28 +08:00 |
|
pjh123
|
fd94ff6931
|
fix: 子模块全局扁平化根治逃逸闭包上下文错位
|
2026-08-07 10:49:15 +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
|
d1bfae2723
|
feat: 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 |
|
pjh123
|
263fd255b6
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
pjh123
|
7c8f19f61a
|
refactor: 拆分 oxide_emit 为独立 emit pass crate(依赖倒置)
|
2026-08-05 20:13:18 +08:00 |
|
pjh123
|
4f670eb7fd
|
refactor: 拆分 oxide_ir 为独立 crate
|
2026-08-05 19:34:44 +08:00 |
|
pjh123
|
3ae2eeee42
|
refactor: 拆分闭包分析与预扫描模块,拆分函数体编译子步骤
|
2026-08-05 19:29:02 +08:00 |
|
pjh123
|
050f75c952
|
fix: 完善闭包捕获(cell 索引稳定、参数遮蔽、函数/类名捕获、b 槽立即数)
|
2026-08-05 19:19:29 +08:00 |
|
pjh123
|
179960ed75
|
fix: 重写闭包捕获分析为 AST 级,修复 MAKE_CELL 时序
|
2026-08-05 18:41:48 +08:00 |
|
pjh123
|
0028a1787e
|
chore: 清理过时 dead_code 标注与空代码块
|
2026-08-05 18:26:46 +08:00 |
|
pjh123
|
76e650ce82
|
refactor: 抽取 assemble_ir 共用出口组装
|
2026-08-05 17:55:32 +08:00 |
|
pjh123
|
f34f791b9a
|
refactor: 原子切换 emit 产出符号化 IR
|
2026-08-05 17:52:42 +08:00 |
|
pjh123
|
c250f5cb2b
|
fix: 修复编译阶段缺失的预注册顶层 var 名步骤
|
2026-08-05 15:21:00 +08:00 |
|
pjh123
|
94576d60c5
|
fix: 编译阶段预扫描 builtin 避免寄存器分配问题
|
2026-08-05 13:28:51 +08:00 |
|
pjh123
|
77d11fb18c
|
refactor: 单趟编译收尾
|
2026-08-05 10:27:30 +08:00 |
|
pjh123
|
489fe5e6bb
|
refactor: 移除 class 计数辅助
|
2026-08-05 10:27:29 +08:00 |
|
pjh123
|
76fb0b5b88
|
refactor: 移除表达式计数辅助
|
2026-08-05 10:27:29 +08:00 |
|
pjh123
|
c4ea84bda1
|
refactor: 移除迭代计数辅助
|
2026-08-05 10:27:29 +08:00 |
|
pjh123
|
fd978b7ef8
|
refactor: 移除语句跳转计数辅助
|
2026-08-05 10:27:28 +08:00 |
|
pjh123
|
dfc14cfce9
|
refactor: 移除简单表达式计数辅助
|
2026-08-05 10:27:28 +08:00 |
|
pjh123
|
198bb7d428
|
refactor: 移除语句计数辅助
|
2026-08-05 10:27:28 +08:00 |
|
pjh123
|
c4ea281985
|
refactor: 模块编译改单趟完成
|
2026-08-05 00:49:13 +08:00 |
|
pjh123
|
b413bd7890
|
feat: 编译器新增延迟跳转 fixup 机制
|
2026-08-04 21:10:10 +08:00 |
|
pjh123
|
ea70e3965d
|
refactor: 清除旧代码并展开 crate
|
2026-07-05 18:43:22 +08:00 |
|
pjh123
|
194d65c2b5
|
refactor: 拆分编译流水线过程以避免逻辑漂移
|
2026-07-05 14:41:08 +08:00 |
|
pjh123
|
435674d961
|
fix: 接通透传闭包值链路
|
2026-06-30 23:57:22 +08:00 |
|
pjh123
|
991e6040e5
|
fix: 修复闭包值传递链路
|
2026-06-30 22:52:25 +08:00 |
|
pjh123
|
655bc8516e
|
fix: 分析时跳过继承作用域,避免将外层 var 误判为嵌套函数本地变量
|
2026-06-30 22:05:46 +08:00 |
|
pjh123
|
77a52bf7e8
|
fix: 修复嵌套函数调用并接通闭包捕获链路
|
2026-06-30 21:52:18 +08:00 |
|
pjh123
|
c9016ee662
|
style: 自动格式化
|
2026-06-30 20:49:56 +08:00 |
|
pjh123
|
f9449c52e3
|
fix: 修复嵌套函数调用并接通闭包捕获链路
|
2026-06-30 20:49:23 +08:00 |
|
pjh123
|
c58aae4862
|
feat: 搭建闭包捕获基础设施
|
2026-06-30 19:58:58 +08:00 |
|
pjh123
|
ccc527af71
|
fix: 顶层 count pass 镜像 emit 的函数提升顺序,消除跳转目标漂移导致的死循环
|
2026-06-30 16:01:00 +08:00 |
|
pjh123
|
8d23c83ce2
|
fix: 对齐 ?? 与静态成员复合赋值的 counter/emitter 计数,并加 projected_pc 断言
|
2026-06-27 21:07:16 +08:00 |
|
pjh123
|
03c9809c30
|
fix: 对齐 class 体 counter/emitter 指令条数,修私有方法、计算键、派生构造器字段注入位置的跳转漂移
|
2026-06-27 20:50:12 +08:00 |
|
pjh123
|
3794ae3fd5
|
fix: 对齐 counter/emitter 指令条数,修解构参数、数组赋值元素、解构catch、for-init 无初始化的跳转漂移
|
2026-06-27 20:32:33 +08:00 |
|
pjh123
|
f2002d6bae
|
feat: 为 Array/String 原型方法添加入口和错误路径结构化日志,编译器添加阶段边界日志
|
2026-06-26 21:24:18 +08:00 |
|
pjh123
|
f7bcfd3846
|
refactor: CompileCtx 拆分为 LabelCtx/ScopeCtx,字面量域改用注册表入口
|
2026-06-25 19:46:35 +08:00 |
|
pjh123
|
1cab5bde65
|
perf: 不可变常量改 OnceLock 一次性缓存,删 Constant 死变体并移出 GC 根
|
2026-06-25 14:32:49 +08:00 |
|
pjh123
|
c378b92d1a
|
feat: 增加 CreateClosure 字节码,函数字面量每次执行创建新闭包
|
2026-06-25 10:16:32 +08:00 |
|
pjh123
|
94405f50d7
|
refactor: 移除代码注释中的文档内部编号引用
|
2026-06-24 16:03:53 +08:00 |
|
pjh123
|
1815958b11
|
refactor: 清理未使用符号,合并bind_constructor宏,统一init/rebind绑定列表,bind_number改为表驱动
|
2026-06-24 12:12:44 +08:00 |
|
pjh123
|
3ea2353194
|
feat: 实现 SequenceExpression + 带标签 break/continue + EmptyStatement
|
2026-06-23 23:00:20 +08:00 |
|
pjh123
|
be87e4e21b
|
refactor: 拆分 bytecode/cache crate 并模块化 counter
|
2026-06-23 17:06:39 +08:00 |
|
pjh123
|
ba5e095a83
|
fix: 封装字节码计数并修复 for-of 解构偏移
|
2026-06-23 16:21:39 +08:00 |
|
pjh123
|
2d166cbfa5
|
fix: 修复全局边界安全与内存稳定性问题
|
2026-06-22 19:43:00 +08:00 |
|