[发明专利]即时编译器中一种基于云的热路径优化方法有效

专利信息
申请号: 201410033804.1 申请日: 2014-01-24
公开(公告)号: CN103793502B 公开(公告)日: 2017-01-18
发明(设计)人: 范礼阳;史晓华;赵胜男;杨海燕 申请(专利权)人: 北京航空航天大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京永创新实专利事务所11121 代理人: 祗志洁
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 即时 编译器 一种 基于 路径 优化 方法
【说明书】:

技术领域

发明涉及即时编译器和热路径技术,具体是即时编译器中一种基于云的热路径优化方法。

背景技术

即时编译器(Just-In-Time Compiler,JIT编译器)是一种广泛应用于Java虚拟机、Dalvik虚拟机(运行Android程序的虚拟机)以及其他语言虚拟机中的编译系统。即时编译器与传统编译系统的差别在于,它并不预先将被执行程序编译为目标代码,而是在程序运行时,将那些需要被执行的代码即时的编译成目标代码,再予以执行。

由于即时编译器是在程序运行时进行编译,因此编译器本身消耗的运行时间和空间都有所限制,这也使得即时编译器中的各种优化方法倾向于采用轻量级的、较快的算法,同时,针对即时编译器的运行特征,扑捉并针对程序运行的“热路径(JIT-Trace)”进行编译,是一种重要的兼顾优化效果和优化开销的折中机制。

以Dalvik虚拟机为例,如图1所示,它在启动初始化时,开始解释执行字节码,当解释程序的某段代码被调用时,字节码解释程序会记录被标记的代码执行的次数(profile count),并检测是否达到编译阀值,如果达到编译的条件,则说明该段代码为一“热路径”,切换到JIT编译器模式查找相对应的Trace入口,若不存在对应的Trace,则解释或创建Trace建立请求并提交编译请求,启动编译器线程对热路径进行编译;若存在对应的Trace,则查看是否已被编译,若未被编译,则构建编译单元,生成中间代码,在JIT-Code中对热路径进行编译。解释直到读取下一个Trace记录的头部head为止。热路径被编译后,执行编译后的机器码。与解释器模式相比,JIT编译器生成后的代码运行速度更快,字节码执行效率更好;但同时JIT编译本身也会占用较多的时间和空间资源,造成Android程序运行“卡壳”的现象;热路径的统计和计算本身也会占用大量资源;另外,JIT也存在相关的平台相关性,开发维护成本较高等问题。

发明内容

本发明针对现有热路径在即时编译器中存在的占用资源量大,开发维护成本高等问题,提出了即时编译器中一种基于云的热路径优化方法。

本发明的即时编译器中一种基于云的热路径优化方法,针对某一程序,进行如下步骤:

步骤一、当程序空闲时,判断本地即使编译器中的热路径是否有更新,若有,则执行步骤二,否则,转步骤三执行;所述的本地即使编译器中的热路径存储为Jit-Trace格式的数据结构,该数据结构包括一个字节码方法和包含该字节码方法的执行路径。

步骤二、将本地Jit-Trace格式数据转换为Native-Jit-Traces格式数据,准备进行云端上传;所述的Native-Jit-Traces格式数据包括数据头和路径数据两部分;数据头包含程序标识符和版本号Cloud-Jit,程序标识符包括程序的包名、签名和版本号,版本号Cloud-Jit用于标识程序的热路径信息版本;路径数据部分以<字节码方法,执行路径数组>的键值对方式组织,执行路径数组中包含对应字节码方法的Jit-Trace格式中的各执行路径,一个键值对为一个热路径。

步骤三、将位于本地的Native-Jit-Traces格式数据上传到云端,云端对具有相同程序标识符的所有Native-Jit-Traces格式数据进行统计整理,生成Cloud-Jit-Traces格式数据,并存储在云端资源池中;

所述的Cloud-Jit-Traces格式数据包括程序的标识符,版本号Cloud-Jit,以及路径数据,路径数据以<字节码方法,执行路径数组,统计数据>的键值对方式组织,其中,统计数据为相应字节码方法的统计次数。一个键值对对应一个热路径。

步骤四、在本地程序初始化或者本地程序空闲时,从云端下载对应程序的经过统计处理的Cloud-Jit-Traces格式数据,并将热路径加入到虚拟机的即时编译队列中。

所述的步骤一中的Jit-Trace格式的数据结构,其包含的字节码方法中存储了所属类索引、方法ID、入口地址及参数信息,其包含的每条执行路径存储了路径的入口点、出口点、字节码指令数及代码标识。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410033804.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top