Commit Graph

18 Commits

Author SHA1 Message Date
pjh123 c8bcff83f6 fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格 2026-09-09 17:48:33 +08:00
pjh123 540ccc4a61 feat: Object keys 系列合并数组元素区,assign 按规范过滤枚举/触发 getter
walk_own_keys 返回值语义改为绝对存储索引:数组对象先枚举元素区
(跳过 hole),命名属性偏移到元素区之后;shape 槽位计数含 symbol 键
与物理存储对齐(修 symbol 键错位读值)。delete_own_property /
REST / SPREAD 四连锁点同步去偏移,REST/SPREAD 删除独立元素区循环
(由 walk_own_keys 统一覆盖,防重复键)。

Object.assign 增补:源只取可枚举自身属性;取值改 ordinary_get
(accessor 触发 getter,receiver=源);提交写 receiver 修正为 target
(目标同名 setter 的 this 指向 target)。
2026-08-15 21:04:24 +08:00
pjh123 dc98074d79 fix: 对象建键入口统一走 property_key_si 规范化,数字键不再分裂
Object.fromEntries/JSON.parse/new Map 对象 entry/rest 解构静态 excluded
四处直接 intern 动态字符串键绕过整数键区间映射,规范数字键分裂为
字符串键与整数键两个键。统一经 string_key_si 规范化:规范数字串映射
整数键,其余 intern 字符串键,与 property_key_si 字符串分支口径一致。
make_int_key 增加 debug 断言兜底索引越界。
2026-08-14 22:37:46 +08:00
pjh123 31e28a03a6 docs: 补充注释与格式化 2026-08-06 23:10:27 +08:00
pjh123 2f7fe3cedf fix: 修复不符合 JS 语义约束的错误行为测试 2026-08-05 15:44:22 +08:00
pjh123 ddffa8504e refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner 2026-06-24 20:15:15 +08:00
pjh123 7ff559c2e6 fix: 收紧CALL_NATIVE调用选择 2026-06-14 23:58:12 +08:00
pjh123 111c61d4d7 style: 自动格式化 2026-06-14 17:21:49 +08:00
pjh123 246ad72540 refactor: 拆分 Kernel 中可变 Session 与不可变 Core 2026-06-14 12:58:09 +08:00
pjh123 33d269ca3f fix: 修复 harness 函数原型和 Object.assign ToObject 2026-06-09 19:46:50 +08:00
pjh123 06c313e802 fix: 绑定 Function 和 Object prototype harness helper 2026-06-09 19:31:46 +08:00
pjh123 ff6853face feat: 注入 harness 并补齐关键全局内建 2026-06-09 17:08:10 +08:00
pjh123 a654b5834f feat: 支持访问器描述符与 get/set 语法 2026-06-09 16:22:24 +08:00
pjh123 f77499e5cd style: 减少自动格式化换行 2026-06-09 00:53:46 +08:00
pjh123 343d5ffb5f fix: 修复测试悬空引用与 this 误转字符串问题 2026-06-09 00:40:01 +08:00
pjh123 6cb781a3bd fix: 修复数组长度与槽位索引截断问题 2026-06-08 22:55:52 +08:00
pjh123 f8eb48ab80 feat: 搭建 Iterator 与 for-of 语法基础设施 2026-06-08 13:48:54 +08:00
pjh123 9ca35d75e0 feat: 支持 Object 成员方法 2026-06-07 01:59:30 +08:00