pjh123
|
3169e8f2f9
|
perf: run 签名改 &Arc<CompiledModule>,顶层模块跨 run 共享——collect_flat_modules 顶层改 Arc::clone 消除逐 run 常量池深拷贝,全调用点 Arc 包装迁移
|
2026-09-11 22:19:13 +00:00 |
|
pjh123
|
9002a1aa77
|
fix: 类表达式真实名 cell 按声明路径门控,不再覆盖外层同名绑定
|
2026-08-16 13:32:25 +08:00 |
|
pjh123
|
bbc09a8208
|
feat: 私有字段复合赋值 emit 支持(GET_PRIVATE→op→SET_PRIVATE 序列)
|
2026-08-16 12:12:26 +08:00 |
|
pjh123
|
00b2f4d8b1
|
fix: class 生成器方法补 is_generator 标志,修正方法形态生成器语义
|
2026-08-16 11:44:20 +08:00 |
|
pjh123
|
8c4b766e70
|
fix: 构造帧 super 状态改显式标志修复多层继承与 return 语义
derived 构造器 super 状态改由 CallFrame.super_called 显式标志承载,
取代依赖 regs[254] 值判定:多层继承中间 derived 帧由 SUPER_CALL 压入
this=构造对象,值判定三重失效(未调 super 不报错 / this-before-super
失效 / 合法 super() 误判 more-than-once)。父构造器正常返回经
construct_result_reg==Some(254) 识别置位调用方帧(该 ABI 不变量仅
SUPER_CALL 压帧满足),抛错走 unwind 不置位。
do_return 检查放宽为非对象返回值(含 undefined/null/原始值)且未调
super 时抛 ReferenceError(规范 §9.2.2.2),调过 super 回退构造 this。
super 构造器改取当前帧 callee 原型而非 newTarget 原型:newTarget 跨
SUPER_CALL 压帧保持为最外层类,取其原型在中间 derived 层解析回同一
父类导致无限压帧。
|
2026-08-16 01:23:52 +08:00 |
|
pjh123
|
33db6dad9c
|
test: 数值断言容忍 int 表示,类私有字段 for-in 用例补公有字段
|
2026-08-14 06:14:38 +08:00 |
|
pjh123
|
9f6f694be9
|
fix: 私有字段 brand 检查 own 槽(字段不跨原型,规避 cell 值缺陷)
|
2026-08-10 11:23:52 +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
|
a34c289d47
|
fix: native 调用保存/恢复 this 寄存器,避免方法内调用后 this 被 callee 覆盖
|
2026-06-30 16:12:42 +08:00 |
|
pjh123
|
a074636619
|
feat: 支持 class 私有字段与品牌检查
|
2026-06-17 08:56:58 +08:00 |
|
pjh123
|
e71c236dcd
|
feat: 支持公开类字段和静态块
|
2026-06-17 08:20:52 +08:00 |
|
pjh123
|
a654b5834f
|
feat: 支持访问器描述符与 get/set 语法
|
2026-06-09 16:22:24 +08:00 |
|
pjh123
|
270bc86933
|
feat: 支持 class 静态方法与静态 super
|
2026-06-09 09:59:42 +08:00 |
|
pjh123
|
a8fc9c061f
|
feat: 支持 class extends 与 super 调用
|
2026-06-09 09:51:34 +08:00 |
|
pjh123
|
5333be4622
|
feat: 支持基础 class 声明表达式与原型方法
|
2026-06-09 08:38:21 +08:00 |
|