pjh123
|
214494d3d5
|
refactor: 退役 new_array 死参数与三十四处调用点
|
2026-10-03 04:32:20 +00:00 |
|
pjh123
|
a4d70a8bfe
|
refactor: 退役逃逸写屏障 builtins 侧调用点与 trait 兑现
|
2026-10-03 02:54:40 +00:00 |
|
pjh123
|
f97db6094e
|
fix: Reflect ownKeys 族收敛规范枚举与原值传播
|
2026-09-26 15:44:44 +00:00 |
|
pjh123
|
3da61d4646
|
fix: Reflect.set 按规范 receiver 语义落点并原值传播 setter 异常
|
2026-09-25 17:33:38 +00:00 |
|
pjh123
|
c8fda6132b
|
fix: Reflect 族属性键转换异常原值传播接传播变体
|
2026-09-23 22:30:55 +00:00 |
|
pjh123
|
f199cd9632
|
feat: Reflect.has 切统一数值键门并修 2^32 索引边界
|
2026-09-23 11:13:56 +00:00 |
|
pjh123
|
3fb3ebc3cc
|
fix: Reflect.construct 换真构造帧并支持 newTarget 覆写
|
2026-09-20 15:13:18 +00:00 |
|
pjh123
|
b45f979db7
|
fix: 数组长度定义异常原值抛出并保留错误类型
|
2026-09-18 02:42:11 +00:00 |
|
pjh123
|
5ecd03c1a1
|
fix: 数组长度按虚拟属性处理定义与截断
|
2026-09-18 02:05:57 +00:00 |
|
pjh123
|
4236290b45
|
fix: 不可扩展对象设置原型返回失败
|
2026-09-18 01:23:02 +00:00 |
|
pjh123
|
6aa87cd40e
|
fix: 模块命名空间对象设为不可扩展并拦截写入
|
2026-09-17 22:32:29 +00:00 |
|
pjh123
|
9b65feb2ab
|
fix: 模块命名空间暴露符号标签自身键
|
2026-09-17 20:26:44 +00:00 |
|
pjh123
|
0c750fa74c
|
emit/kernel/vm/builtins: 常量池键编码 + 键物化真实串值面 + 16 回归钉——emit 侧字面量/键/模板统一改存无标志键编码:lone_surrogates 字面量与模板 cooked 按 oxc marker 解码还原真单元序列(FFFD+hex4≠fffd→surrogate 单元、FFFD+fffd→FFFD、FFFD+非 hex 防御臂),无标志串 encode_key(encode_utf16()) 入池(BMP 无 FFFD 键恒等 = 现值,池条目零漂移),string_pool 集中收口 9 处入池点;interner string_ptr 由单元物化(含孤立→FlatU16、良形→Flat);键物化面改真实 JS 串值(key_si_to_js_value 经 decode_key,Object.keys/ownKeys/entries/Reflect.ownKeys/json reviver 键同源;整数键反解数字串);批内修复三处子集 A/B 差分撞出回归:replace $n 展开按 spec GetSubstitution 重写(digitCount 2/1、越界回退 1 位、越界含 $0 原文输出,node 13 用例对照钉住)、String 构造器 Symbol 路径按 new.target 分流(String(sym)→描述串、new String(sym)→TypeError,恢复 to_string_for_string_constructor)、padStart/padEnd 未给 fill 时按单空格补(原 lossy 串取 'un' 杂质,pre-existing 一并归零);迭代器 dispose 钉改回真值断言(String(Symbol.dispose) 现合法返回描述串);property-escapes 613/0/0(B167 基线 582/31/0,31 归零)、String 子集 963/250/10 vs BASE 949/264/10(14 修 0 回归)、for-of +1(string-astral-truncated)、五 crate 113 套件 2680/0、clippy/fmt 零新增(JSON 面与全量 test262 收尾在 131.2 后续 commit 闭合)
|
2026-09-14 03:04:23 +00:00 |
|
pjh123
|
c8bcff83f6
|
fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格
|
2026-09-09 17:48:33 +08:00 |
|
pjh123
|
7f1374a5f1
|
perf: 数组整数键走独立 si 区间免字符串往返
|
2026-08-13 17:47:55 +08:00 |
|
pjh123
|
0b68baa802
|
fix: delete 真正删除属性(shape 链重建 + 数组元素 hole 标记)
字节码 delete 原先只清值为 undefined,属性残留在 shape 链,hasOwnProperty/
keys/枚举仍可见。统一走共享 delete_own_property(与 Reflect.deleteProperty
一致):
- 命名属性经 shape 链重建移除,数组重建前保存并恢复元素区
- 数组下标元素标记为 hole(PropMetaEntry.hole),length 不变,
存在性检查(resolve_property/get_own_property_slot/ordinary_get/for-in)
判 hole,重赋值自动清除标记
- 不可配置属性统一返回 false(sloppy 语义,strict 抛错留待 emit 追踪严格模式)
- set_or_create_prop_value 数组下标键路由元素区,修复 delete 后重赋值误入
shape 链
test262 Object +212 PASS/-102 FAIL,Array +149 PASS/-60 FAIL,无回归。
|
2026-08-08 02:25:13 +08:00 |
|
pjh123
|
8f5446aa8a
|
fix: defineProperty 描述符字段按 ToPropertyDescriptor 语义解析(原型链 + accessor getter)
|
2026-08-08 01:39:12 +08:00 |
|
pjh123
|
0df0c2cb98
|
fix: native 构造器可构造性标志(OBJ_TYPE_CONSTRUCTOR)+ Reflect.construct/new 校验
|
2026-08-07 20:44:04 +08:00 |
|
pjh123
|
263fd255b6
|
docs: 添加 Rustdoc 注释
|
2026-08-05 21:46:47 +08:00 |
|
pjh123
|
6dd58e471f
|
feat: Reflect.construct 实现正确 construct 语义
|
2026-06-30 15:47:05 +08:00 |
|
pjh123
|
5c7edbcc38
|
feat: 最小实现 Reflect.construct,test262 runner 加基础设施 skip 分类
Reflect.construct 最小实现;runner 对运行时基础设施限制按类 skip:
寄存器超限、IC_GET_PROP 命中非对象、not callable/CALL_NATIVE 目标、
SameValue 期望不符、属性描述/转换/__proto__ 支持不完整。
性能无回退:array 164ms、string 560ms。
|
2026-06-30 12:42:57 +08:00 |
|
pjh123
|
f23d4e61b2
|
feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>
|
2026-06-25 22:38:23 +08:00 |
|