检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[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[自动化与计算机技术—计算机系统结构]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.32