开发者社区> 问答> 正文

在访问 global 对象属性时,如何通过 HYJSGlobalIC 来检查缓存是否有效?

在访问 global 对象属性时,如何通过 HYJSGlobalIC 来检查缓存是否有效?

展开
收起
萝卜丝丸子 2024-07-22 21:50:19 29 0
1 条回答
写回答
取消 提交回答
  • 在访问 global 对象属性时,首先会根据 cache_index 从 inline cache 中取出对应的 HYJSGlobalIC 结构体。然后,比较该结构体中的 prop 字段(即属性 atom)与当前需要访问的属性的 atom 是否相同。如果相同,说明缓存仍然有效,此时可以直接使用 offset 字段从 global 对象的属性数组中取出属性值。如果不同,则说明缓存无效,需要走慢路径来遍历属性数组并更新 inline cache。

    2024-07-22 22:37:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载