有没有办法弄清楚JavaScript程序中实际使用内联缓存技术的访问次数和访问次数?或使用内联缓存主要有助于提高整体性能?
答案 0 :(得分:0)
如果您参考V8 Chrome page,那么您会在那里找到它:
V8首次执行时,会将JavaScript源代码直接编译为机器代码。没有中间字节代码,没有解释器。属性访问由内联缓存代码处理,可以在V8执行时使用其他机器指令进行修补。
在初始执行用于访问给定对象的属性的代码期间,V8确定对象的当前隐藏类。 V8通过预测此类也将用于在同一代码段中访问的所有未来对象来优化属性访问,并使用类中的信息来修补内联缓存代码以使用隐藏类。如果V8已正确预测,则在单个操作中分配(或获取)属性的值。如果预测不正确,V8会修补代码以删除优化。