计算机研究与发展 ›› 2015, Vol. 52 ›› Issue (1): 66-82.doi: 10.7544/issn1000-1239.2015.20130970
黄明凯,刘先华,谭明星,谢子超,程旭
Huang Mingkai, Liu Xianhua, Tan Mingxing, Xie Zichao,Cheng Xu
摘要: 解释器广泛应用于Java虚拟机、JavaScript执行引擎等托管运行环境中.解释器通常使用间接转移指令实现字节码分派.在现代多发射多级流水的微处理器中,间接转移预测失效严重制约解释器的性能.针对解释器提出了一种字节码指针引导的间接转移预测技术,其核心思想是使用解释器特有的字节码指针值区分不同的间接转移场景.该技术使用软硬件协同的方式,解释器中插入专门的引导指令以标记字节码指针,预测器在运行时刻使用字节码指针值预测转移目标地址.实验结果表明,该技术与常用的转移目标缓冲预测器相比,能提升Java解释器的性能达34.7%,能提升JavaScript解释器的性能达8.3%,与专用的硬件间接转移预测器TTC(tagged target cache)相比,也能提升Java解释器的性能达21.9%.
中图分类号: