在访问 global 对象属性时,如何通过 HYJSGlobalIC 来检查缓存是否有效?
在访问 global 对象属性时,首先会根据 cache_index 从 inline cache 中取出对应的 HYJSGlobalIC 结构体。然后,比较该结构体中的 prop 字段(即属性 atom)与当前需要访问的属性的 atom 是否相同。如果相同,说明缓存仍然有效,此时可以直接使用 offset 字段从 global 对象的属性数组中取出属性值。如果不同,则说明缓存无效,需要走慢路径来遍历属性数组并更新 inline cache。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。