据我所知,只有在同一位置重复执行特定访问时,内联缓存才有用。它不考虑单独进行访问。
例如,
for(i = 0; i< 1000; i ++)obj.x;
此处内联缓存将非常有用,因为每次访问都是独立进行的。但请考虑以下
obj.x; obj.x; ...... 1000次......
在这种情况下,内联缓存没有帮助。这是真的吗?
如果是这种情况,那么在不会重复的位置/访问中修补内联缓存存根的重点是什么。
答案 0 :(得分:0)
内联缓存在函数调用中持续存在,因此即使单个访问在函数内部也会受益。无法知道函数被调用的次数。