pjh123
|
d161b7cfe3
|
fix: 顶层声明撞不可定义全局按规范抛 TypeError
|
2026-09-14 14:32:39 +00:00 |
|
pjh123
|
675b6c10e9
|
fix: 顶层函数声明名并入 A 侧 tier 路由——再赋值/裸读与全局属性收敛单一真值
|
2026-09-13 02:05:31 +00:00 |
|
pjh123
|
277429e3ea
|
fix: 绑定模式内嵌默认值表达式补捕获扫描,嵌套函数引用外层绑定防 LOAD_GLOBAL 回归
|
2026-08-16 14:53:57 +08:00 |
|
pjh123
|
c5c4916a8f
|
fix: 绑定侧解构计算键参与闭包捕获遍历防静默错值
|
2026-08-16 14:30:20 +08:00 |
|
pjh123
|
ce0f865004
|
fix: for-in/for-of 头名仅 var 提升入入口初始化名单,排除 let/const
|
2026-08-16 13:32:25 +08:00 |
|
pjh123
|
fe8892079e
|
chore: 全仓 rustfmt 格式化归拢
|
2026-08-16 12:50:36 +08:00 |
|
pjh123
|
1229924af6
|
fix: var 捕获绑定函数与程序入口统一初始化为 undefined 消除 TDZ 误报
|
2026-08-16 12:34:10 +08:00 |
|
pjh123
|
5086e15b66
|
fix: class 声明名纳入闭包捕获,嵌套函数经 cell 读取类绑定
|
2026-08-16 12:34:03 +08:00 |
|
pjh123
|
ee7fa88ad7
|
chore: 清理 oxide_emit clippy 告警
|
2026-08-14 05:26:25 +08:00 |
|
pjh123
|
b32d525141
|
feat: emit 模块编译(快照式链接:依赖子模块闭包 + import/export 域)
- emit_program_module:模块顶层编译(is_global_scope=false,顶层 this undefined 由 VM 按标志绑定)
- emit_module_into_ctx:预声明/闭包分析识别 export 包裹声明与 import 绑定
- 依赖收集:import/re-export/star 的 source 去重、循环检测、json/text 数据模块
- 导入绑定初始化:__moduleLinkGet 链接期检查;self-import 别名语义(export 处回写)
- export 域:声明/重导出/export */export default 就地注册命名空间
- re-export 链接检查移至 prelude(先于 body 求值)
- emit_module_call 参数打包连续寄存器(CALL_NATIVE 契约)
- CompileCtx 增 module_ns_reg/module_dep_ns_regs/self-import 映射
- 拆分 declaration helper(export 声明复用);function/class 表达式 emitter 提升可见性
|
2026-08-12 17:37:33 +08:00 |
|
pjh123
|
1d45a34973
|
fix: 闭包捕获解构函数参数
|
2026-08-11 16:57:13 +08:00 |
|
pjh123
|
33dae0a8c2
|
fix: 闭包捕获对象键与循环变量绑定
|
2026-08-11 14:17:45 +08:00 |
|
pjh123
|
80cb1c2feb
|
feat: 循环 let/const 每迭代绑定(MAKE_CELL_FRESH + 解构捕获修复)
|
2026-08-10 10:18:39 +08:00 |
|
pjh123
|
85c192a747
|
feat: rest 参数(function f(...args)),实参区收集数组
|
2026-08-10 00:33:25 +08:00 |
|
pjh123
|
fd47cd56d0
|
feat: async/await 语法支持(AWAIT 帧快照挂起/恢复 + 微任务驱动 + AsyncFunction intrinsics)
|
2026-08-09 22:02:15 +08:00 |
|
pjh123
|
65d96a8a08
|
fix: 闭包捕获扫描不误捕获赋值目标本函数变量(生成器回归)
|
2026-08-09 18:33:38 +08:00 |
|
pjh123
|
783e89e4cb
|
feat: 生成器基础支持(YIELD 帧快照挂起/恢复 + GeneratorPrototype next/return/throw)
- 新增 YIELD/SUSPEND_BODY opcode;function* 识别与 yield emit
- GeneratorState 全量快照 VM 执行上下文(regs/pc/bytecode/spill/save/try/cell 栈段/迭代器)
- 调用时参数初始化(默认值/解构副作用与异常在 g() 时刻生效)
- %GeneratorPrototype%/%GeneratorFunction.prototype% 内建对象与 next/return/throw
- session GC trace 生成器状态 JsValues;闭包捕获分析补 yield/赋值目标扫描
|
2026-08-09 18:02:08 +08:00 |
|
pjh123
|
36fb61fc74
|
feat: 解构模式语义补齐(REST 枚举/getter/computed 排除、IteratorClose、RegAlloc def 干涉、for-in 捕获遮蔽)
|
2026-08-09 15:01:31 +08:00 |
|
pjh123
|
6c79dbb21c
|
feat: class 私有成员语义(字段/方法/访问器 + brand 检查 + 契约修复)
|
2026-08-09 11:08:36 +08:00 |
|
pjh123
|
8669f55470
|
feat: class 公有字段 define 语义 + computed key 类定义期求值一次
|
2026-08-09 09:35:24 +08:00 |
|
pjh123
|
5611d90ad0
|
feat: with 语句、成员位/移位复合赋值、CALL_NATIVE 无目标修复
with 语句:新增 emit 支持,with 体内自由标识符动态解析(对象属性优先,
回退外层),支持读/写/复合赋值/自增自减/delete/var 初始化动态化,
TO_OBJECT opcode 处理原始值对象,顶层 this 绑定全局对象。
复合赋值:新增 6 个 COMPOUND_MEMBER_BIT_* opcode 支持成员位/移位复合赋值,
修复 computed member 复合赋值覆盖 bug,with 内标识符复合赋值动态化。
CALL_NATIVE:实现全局 isNaN/isFinite 并绑定,用户覆盖 builtin 名时
回退通用调用路径而非报错,局部遮蔽 builtin 名走普通 CALL。
test262: with 34 pass(基线 0),compound-assignment 320 pass(基线 223)
|
2026-08-09 07:22:46 +08:00 |
|
pjh123
|
ab979dc47b
|
feat: 调用实参 spread(f(...args) / new F(...args) / super(...args))
|
2026-08-08 10:33:16 +08:00 |
|
pjh123
|
e3d8092088
|
fix: 闭包捕获/upvalue 分析纳入参数默认值表达式(含嵌套函数声明)
|
2026-08-07 19:04:25 +08:00 |
|
pjh123
|
5c385c2b1c
|
fix: 闭包捕获分析补扫 catch 参数解构模式的表达式引用
|
2026-08-07 18:32:05 +08:00 |
|
pjh123
|
de67cc8eee
|
fix: 链式 upvalue 捕获支持多层嵌套函数引用深层变量
|
2026-08-07 14:56:51 +08:00 |
|
pjh123
|
91528d9c19
|
feat: 迭代协议支持对象字面量 computed key 与 upvalue 捕获
|
2026-08-07 10:49:24 +08:00 |
|
pjh123
|
31e28a03a6
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
pjh123
|
be91604fef
|
fix: upvalue_captures 按名字排序,修复 HashSet 非确定顺序致 LOAD_UPVALUE 错位
|
2026-08-06 14:29:04 +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 |
|