C++ 分支预测器是否处理间接函数调用,如虚拟函数调用?
我想知道这件事。我认为分支预测器通常可以处理二进制间接分支——分支可以采用两条立即可见的可能路径。然而,我在想,分支预测器能够预测间接函数调用,就像C++中的虚函数调用吗?比如说,如果程序中某个位置的某个间接函数调用99%甚至100%的时间调用一个函数,分支预测器是否会记录并优化该函数?我问的是一般的体系结构,但主要对x86和x86-64感兴趣。查找分支预测器和分支目标预测器之间的区别。可能会有所帮助。C++ 分支预测器是否处理间接函数调用,如虚拟函数调用?,c++,assembly,x86,x86-64,branch-prediction,C++,Assembly,X86,X86 64,Branch Prediction,我想知道这件事。我认为分支预测器通常可以处理二进制间接分支——分支可以采用两条立即可见的可能路径。然而,我在想,分支预测器能够预测间接函数调用,就像C++中的虚函数调用吗?比如说,如果程序中某个位置的某个间接函数调用99%甚至100%的时间调用一个函数,分支预测器是否会记录并优化该函数?我问的是一般的体系结构,但主要对x86和x86-64感兴趣。查找分支预测器和分支目标预测器之间的区别。可能会有所帮助。