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 |
|