Java虚拟机中动态内联策略的改进  被引量:3

Dynamic inlining scheme improvement in JVM

在线阅读下载全文

作  者:周晶[1] 王雷[1] 刘志成[1] 

机构地区:[1]北京航空航天大学计算机学院,北京100083

出  处:《北京航空航天大学学报》2006年第3期352-356,共5页Journal of Beijing University of Aeronautics and Astronautics

基  金:英特尔中国研究中心(ICRC)基金资助项目

摘  要:在Java虚拟机中,传统的基于计数的热点探测方法往往不能得到方法间的调用关系,因此,采用这种机制的动态编译器会丧失一些优化机会,比如方法内联.提出了基于在线反馈信息的动态内联策略.同已有的内联算法相比,该方法引入了BC Map,它由基线编译器对方法进行第一次编译时构建.BC Map可以确定对方法M进行调用的字节码在其调用者中的索引.通过构建Guarded Rec记录,编译器能够准确判断出虚方法的接收者对象的类型,进而确定方法间的调用关系.使用该信息指导的保护内联优化可以避免静态判断虚方法的接收者对象类型的缺陷,得到更加准确的动态信息,使应用程序的性能得到提升.In the Java virtual machine(JVM), traditional counter-based hotspot-detecting method usually can not get the caller-callee relationship, therefore, the dynamic compiler which applied this scheme would lose some optimization opportunities, such as method inlining. A dynamic inlining scheme based on online feedback information was proposed. Compared with the algorithms presented, the new method introduced BC _ Map, it was constructed by the baseline compiler when a method was compiled for the first time. BC _ Map can identify the index of the bytecode that invoked method M in its caller. With constructing Guarded _ Rec record, the compiler can get the type of virtual method' s receiver object correctly, and then identify the relationship between caller and callee. The guarded inlining guided by this information can avoid identifying the type of virtual method' s receiver object statically, get the dynamic information more precisely, and then it can increase applications' performance.

关 键 词:Java程序设计语言 编译程序 优化 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象