pjh123
|
2d5cba7e98
|
style: 自动格式化
|
2026-10-12 16:02:00 +00:00 |
|
pjh123
|
1ca2149f7e
|
refactor: 函数体编译链收进 FunctionFlags 与 ClassElementHooks 结构体
|
2026-10-12 16:01:57 +00:00 |
|
pjh123
|
26441edcbc
|
perf: 类私有名作用域容器改哈希表,点查由线性扫描改 O(1)
|
2026-10-12 04:01:14 +00:00 |
|
pjh123
|
5fc898906a
|
feat: 私有名方法名加井号前缀加嵌套类独立作用域
|
2026-10-10 03:15:38 +00:00 |
|
pjh123
|
4f6bd5d947
|
feat: 函数名登记为作用域内不可写绑定并按帧槽写入函数对象
|
2026-10-09 21:32:51 +00:00 |
|
pjh123
|
ae73fb8da5
|
feat: 异常与 return 穿越释放资源,dispose_count 门控
|
2026-10-09 19:14:36 +00:00 |
|
pjh123
|
6cb7964764
|
feat: 捕获 cell 换键——类合成 cell 切计数器分配,类名与函数声明改可见绑定索引
|
2026-10-05 17:05:08 +00:00 |
|
pjh123
|
c9e1ee2e09
|
fix: 裸 return 物化 undefined,防调用残留值冒充完成值
|
2026-09-20 18:07:54 +00:00 |
|
pjh123
|
c1dcc7a8f3
|
fix: 默认导出匿名函数与类设置隐式名
|
2026-09-17 22:16:17 +00:00 |
|
pjh123
|
0b33f4253a
|
docs: 补全 emit 小文件文档并改写类注释
|
2026-09-17 15:59:13 +00:00 |
|
pjh123
|
089179daab
|
refactor: 函数 strict 标志入 IR/编译/缓存链(零行为地基)
|
2026-08-16 16:46:33 +08:00 |
|
pjh123
|
9002a1aa77
|
fix: 类表达式真实名 cell 按声明路径门控,不再覆盖外层同名绑定
|
2026-08-16 13:32:25 +08:00 |
|
pjh123
|
5086e15b66
|
fix: class 声明名纳入闭包捕获,嵌套函数经 cell 读取类绑定
|
2026-08-16 12:34:03 +08:00 |
|
pjh123
|
744899aae9
|
fix: for-of/for-in 提前退出时按规范顺序完成 IteratorClose
return/break/continue 逃出 for-of 时此前完全不执行 IteratorClose:
BREAK/CONTINUE/RETURN 指令现在经 ext 字携带词法逃出的迭代器层数
(for-of + for-in 各 16 位),运行时在全部 finally 穿越之后、真正
跳转/返回之前按 LIFO 关闭——与规范 §13.7.5.4(循环体完成值已含
内部 try-finally 处理,IteratorClose 在后)顺序一致。
- emit 词法:LabelCtx 增加 for-of/for-in 深度计数,loop/switch/label
打开时快照,break/continue/return 按当前深度减目标深度计算逃出层数
(switch 内 break 以 switch 打开点为基准,目标循环自身不计入)
- 指令编码:brk/cont/ret 三参构造,lower 跳转路径补发 ext 字
- 运行时:dispatch_break/continue/return 读取逃出计数,无 finally 时
直接关闭后跳转/返回,有 finally 时随 Completion 悬挂由 TRY_FINALLY_END
在穿越完成后消费;生成器 .return()/.throw() 注入经 complete_generator_return
全关快照栈迭代器;return() 抛错经 unwind 替代完成值并关闭剩余迭代器
- 顺带:for-in 逃出残留(无 return() 语义,仅弹栈);for-await-of 的
异步迭代器不做同步关闭(return() promise 须 await,走异步机制)
- 新增 15 项回归测试:return/labeled break/continue/switch/while/finally
顺序/抛错优先/生成器注入/for-in/for-await-of 嵌套
|
2026-08-16 09:31:39 +08:00 |
|
pjh123
|
0c22a0e968
|
fix: class 类名绑定经 dedicated cell 捕获(C===Cv 恒等)+ upvalue 写入 const guard(getter 赋值抛 TypeError)
|
2026-08-12 17:30:28 +08:00 |
|
pjh123
|
621956114c
|
fix: class 类名绑定 TDZ 与 const 语义(extends 引用类名抛 ReferenceError,类构建后初始化绑定)
|
2026-08-12 15:37:58 +08:00 |
|
pjh123
|
fbb3500129
|
feat: PlainDateTime toString 选项与 ISO 区间解析
|
2026-08-11 23:07:41 +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
|
31e28a03a6
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
pjh123
|
224d1347eb
|
refactor: 寄存器号 u8→u32 全链放宽,vreg 化去 checkpoint/reg_overflow
|
2026-08-06 16:31:16 +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 |
|