pjh123
|
cf0b59d892
|
feat: 间接 eval 读全局词法环境镜像并补齐写路径
|
2026-10-16 15:03:55 +00:00 |
|
pjh123
|
05b9b280cf
|
refactor: 写路径契约与压帧与异步标志组收结构体并删死参
|
2026-10-12 19:12:11 +00:00 |
|
pjh123
|
b240cbd305
|
feat: 对象层惰性模块命名空间求值触发
|
2026-10-09 15:13:19 +00:00 |
|
pjh123
|
c6bc93a076
|
refactor: realm 与 Vm 生命周期解耦,Vm 持 Arc<Realm>
|
2026-10-07 01:35:16 +00:00 |
|
pjh123
|
14ef287a75
|
refactor: 提取 Realm 组合类型,session 与 GC 及原型槽归 realm
|
2026-10-07 00:13:24 +00:00 |
|
pjh123
|
bd14e332ba
|
perf: 字符串 length 站点指针快判免 IC 读
|
2026-10-05 05:25:26 +00:00 |
|
pjh123
|
3ad2a4dca4
|
refactor: 退役逃逸写屏障 vm 侧调用点与固有方法
|
2026-10-03 01:24:15 +00:00 |
|
pjh123
|
7f545ad99e
|
perf: 数组 length 读走 IC 虚拟槽快路径
|
2026-09-26 16:13:44 +00:00 |
|
pjh123
|
53b16537bc
|
fix: 字符串原始值整数索引读返码元子串
|
2026-09-25 16:52:25 +00:00 |
|
pjh123
|
4787f2180f
|
fix: SET 原始值接收者按严格性分流并补脏重建本体标
|
2026-09-24 19:37:26 +00:00 |
|
pjh123
|
53505dc38c
|
fix: 补 Error 族原型与 Math 六函数边及 Symbol 面描述符
|
2026-09-24 17:33:49 +00:00 |
|
pjh123
|
cc0f6975ca
|
fix: 私有访问器 brand 槽放行
|
2026-09-21 15:28:19 +00:00 |
|
pjh123
|
a953652da8
|
fix: shift 返回钉结果寄存器并收 length 写序偏离
|
2026-09-19 10:33:59 +00:00 |
|
pjh123
|
79518ba827
|
fix: strict 删除非可配置属性抛错并修正数组长度
|
2026-09-17 19:17:16 +00:00 |
|
pjh123
|
aafd07728c
|
fix: delete 非对象基按 ToObject 装箱判删,仅 null/undefined 基抛错
|
2026-09-15 03:56:18 +00:00 |
|
pjh123
|
d877e63cf1
|
fix: 全局对象成员写与删后镜像槽反向同步防裸读失步
|
2026-09-14 13:10:17 +00:00 |
|
pjh123
|
699059aee5
|
emit/vm: delete 全局可写内置标识符真删属性并清镜像槽——新增 DELETE_GLOBAL_PROP_C,可删名集自可写划分单源派生(除 globalThis 与宿主名),test262 delete JSON 用例由红转绿
|
2026-09-13 12:26:01 +00:00 |
|
pjh123
|
c8bcff83f6
|
fix: sloppy 模式属性赋值静默 no-op——写失败按写方严格模式分派,内置写路径一律按严格
|
2026-09-09 17:48:33 +08:00 |
|
pjh123
|
4a1e0a3e9e
|
fix: IC 快速路径 symbol 原始值走 Symbol.prototype 链
|
2026-08-16 10:31:34 +08:00 |
|
pjh123
|
a1c86a9335
|
feat: freeze/seal/preventExtensions 写路径拦截(逐属性 meta + extensible 检查)
freeze/seal 逐属性改写 meta(数据属性 writable/configurable=false,
访问器 configurable=false,含数组元素区),使 has_prop_meta() 恒 true,
IC 直写路径自动失效;ordinary_set/create_named_prop_fast/
set_or_create_prop_value/define_* 增补 extensible/frozen 检查,
SET_ELEM 直写入口回落 ordinary_set 或拒绝新元素。
引擎未实现 strict 标志,赋值失败统一 raise_type_error(sloppy 静默留待后续)。
|
2026-08-15 20:55:20 +08:00 |
|
pjh123
|
aa4c28cdf0
|
perf: member 复合写路径接入 IC 写命中(depth 0)消除每次 DashMap 查询与回写
set_member_prop 增加 ic_set_hit_own(仅接受 depth==0 槽,跳过读侧学习的
原型条目防原型污染)命中直写槽,ext_pc 由 read_member_prop 显式带出消除
隐式 pc 契约;写新属性 miss 分支(IC_SET 分发 + member 写)统一改
CreateDataProperty 快路径(保留原型链 setter/readonly 检查),砍掉
ordinary_set 全链路的重复查询与 shape 转换开销。
|
2026-08-15 08:16:49 +08:00 |
|
pjh123
|
54b6955f6b
|
perf: IC 多态化 4 槽缓存(FIFO 滚动写回)消除多态场景 miss 重解析
每条 IC 指令扩展字 3→8(4 槽 × [shape_id|proto_depth, slot]),命中槽 0
单态快路径零额外成本,槽 1..3 懒解码遍历,miss 写回 FIFO 滚动(新条目进
槽 0、最老丢弃)。修复原型链 IC 深度解析多走一步与 prop_forge 模板不匹配
不写回两个使缓存恒失效的问题。ic_cache 基准命中率 34.8%→78.9%,
耗时 -29%;单态 prop_access 因扩展字布局膨胀有 ~20% 取指回归(后续
side-table 方案可根除)。
|
2026-08-15 06:40:19 +08:00 |
|
pjh123
|
ee4a12668f
|
perf: 数组元素访问 dispatch 内联 fast path + length_si 缓存
GET_PROP_DYNAMIC/SET_PROP_DYNAMIC 开头内联数组元素 fast path:整数键 +
真数组 + 无元素 meta + 界内时直读/直写元素区,免 primitive_property_get /
ordinary_get/set 调用链与 __proto__ 每次 RwLock 查询;越界与有 meta
场景回退原路径(CreateDataProperty + length 扩展 / accessor/hole 协议)。
GET 侧 is_object() 快检先于 checked_object_ptr,保持原始值 receiver
不抛错。length_si 缓存为 Vm 字段(builtin 绑定后取 id,稳定非 0),
普通属性路径 5 处 hot spot 改读缓存,消除每次 intern 的共享锁开销。
|
2026-08-15 04:58:57 +08:00 |
|
pjh123
|
0d9004f8e2
|
perf: 对象字面量批量构造键序预建 shape
|
2026-08-14 04:47:15 +08:00 |
|
pjh123
|
18a0732a91
|
perf: 属性键解析移出 IC 命中路径
|
2026-08-13 15:54:46 +08:00 |
|
pjh123
|
af61dcf6fc
|
feat: ToPropertyKey 改走 ToPrimitive,Symbol 键与描述符,转换错误可捕获
|
2026-08-12 09:59:56 +08:00 |
|
pjh123
|
078688070d
|
feat: 实现最小 BigInt 子集(字面量/算术/比较/构造器,Temporal 前置)
|
2026-08-10 23:02:31 +08:00 |
|
pjh123
|
02414144f3
|
perf: JsString 缓存 UTF-16 length,字符串 length 访问改 O(1)
|
2026-08-10 17:23:29 +08:00 |
|
pjh123
|
7efb26bc96
|
perf: 函数调用 bytecode 改 Arc 共享(O(1) 帧切换 + IC 写时复制)
|
2026-08-10 15:08:51 +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
|
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
|
bfc2312f6c
|
fix: 数组元素写入越过元素区时搬移属性区 + defineProperty 数组索引走元素区
|
2026-08-07 23:20:32 +08:00 |
|
pjh123
|
31542a2576
|
fix: 数组属性存储机制(array_prop_count 显式元素数 + shape 属性偏移 + IC/prop_forge 对齐)
|
2026-08-07 21:53:45 +08:00 |
|
pjh123
|
31e28a03a6
|
docs: 补充注释与格式化
|
2026-08-06 23:10:27 +08:00 |
|
pjh123
|
969eacb047
|
perf: IC hit/miss 路径 depth=0 快速路径内联,跳过 proto 遍历函数调用
|
2026-06-30 23:45:52 +08:00 |
|
pjh123
|
56d41441e5
|
perf: 优化调用原型链的 IC 命中加速
|
2026-06-30 21:41:05 +08:00 |
|
pjh123
|
78f6b0b5d9
|
fix: delete 增加 configurable 检查,defineProperty 修复部分更新值覆盖,枚举排序增加整数索引优先和非枚举过滤
|
2026-06-27 16:34:48 +08:00 |
|
pjh123
|
3e7c082293
|
feat: 为 VM 添加结构化日志
|
2026-06-26 20:50:05 +08:00 |
|
pjh123
|
e4abfd7599
|
refactor: 迁出日志宏,移除直接依赖
|
2026-06-26 18:53:48 +08:00 |
|
pjh123
|
2f330dbe45
|
refactor: Symbol/Iter/Profiling 子结构方法下沉,IC helper 完成提取
|
2026-06-25 22:08:27 +08:00 |
|
pjh123
|
d195d7615c
|
refactor: Vm 状态分组、dispatch 拆分为分发表、IC 辅助函数独立成模块
|
2026-06-25 19:22:16 +08:00 |
|
pjh123
|
ddffa8504e
|
refactor: 字符串值改用 JsString 指针表示,键与字面量改用 PermInterner
|
2026-06-24 20:15:15 +08:00 |
|
pjh123
|
cdd709ef03
|
feat: 添加基准测试基础设施
|
2026-06-24 10:46:59 +08:00 |
|
pjh123
|
be87e4e21b
|
refactor: 拆分 bytecode/cache crate 并模块化 counter
|
2026-06-23 17:06:39 +08:00 |
|
pjh123
|
2d166cbfa5
|
fix: 修复全局边界安全与内存稳定性问题
|
2026-06-22 19:43:00 +08:00 |
|
pjh123
|
f7834df245
|
fix: 修复数组回调与原始值属性访问
|
2026-06-17 12:59:11 +08:00 |
|
pjh123
|
a074636619
|
feat: 支持 class 私有字段与品牌检查
|
2026-06-17 08:56:58 +08:00 |
|
pjh123
|
a9d8d0972c
|
feat: 添加 session arena 与逃逸晋升
|
2026-06-16 12:36:52 +08:00 |
|
pjh123
|
391566ba5b
|
feat: 实现for-of与解构赋值
|
2026-06-14 23:45:12 +08:00 |
|