【技术实现步骤摘要】
本专利技术涉及即时编译器和热路径技术,具体是即时编译器中一种基于云的热路径优化方法。
技术介绍
即时编译器(Just-In-Time Compiler,JIT编译器)是一种广泛应用于Java虚拟机、Dalvik虚拟机(运行Android程序的虚拟机)以及其他语言虚拟机中的编译系统。即时编译器与传统编译系统的差别在于,它并不预先将被执行程序编译为目标代码,而是在程序运行时,将那些需要被执行的代码即时的编译成目标代码,再予以执行。由于即时编译器是在程序运行时进行编译,因此编译器本身消耗的运行时间和空间都有所限制,这也使得即时编译器中的各种优化方法倾向于采用轻量级的、较快的算法,同时,针对即时编译器的运行特征,扑捉并针对程序运行的“热路径(JIT-Trace)”进行编译,是一种重要的兼顾优化效果和优化开销的折中机制。以Dalvik虚拟机为例,如图1所示,它在启动初始化时,开始解释执行字节码,当解释程序的某段代码被调用时,字节码解释程序会记录被标记的代码执行的次数(profile count),并检测是否达到编译阀值,如果达到编译的条件,则说明该段代码为一“热路径”,切换到JIT编译器模式查找相对应的Trace入口,若不存在对应的Trace,则解释或创建Trace建立请求并提交编译请求,启动编译器线程对热路径进行编译;若存在对应的Trace,则查看是否已被编译,若未被编译,则构建编译单元,生成中间代码,在JIT-Code中对热路 ...
【技术保护点】
即时编译器中一种基于云的热路径优化方法,其特征在于,针对某一程序,进行如下步骤:步骤1:当程序空闲时,判断本地即使编译器中的热路径是否有更新,若有,执行步骤二,否则,执行步骤三;所述的本地即使编译器中的热路径存储为Jit‑Trace格式的数据结构,该数据结构包括一个字节码方法和包含该字节码方法的执行路径;步骤2:将本地Jit‑Trace格式数据转换为Native‑Jit‑Traces格式数据;所述的Native‑Jit‑Traces格式数据包括数据头和路径数据两部分;数据头包含程序标识符和版本号Cloud‑Jit,程序标识符包括程序的包名、签名和版本号;路径数据部分以<字节码方法,执行路径数组>的键值对方式组织,执行路径数组中包含对应字节码方法的Jit‑Trace格式中的各执行路径,一个键值对对应一个热路径;步骤3:将位于本地的Native‑Jit‑Traces格式数据上传到云端,云端对具有相同程序标识符的所有Native‑Jit‑Traces格式数据进行统计整理,生成Cloud‑Jit‑Traces格式数据,并存储在云端资源池中;所述的Cloud‑Jit‑Traces格式 ...
【技术特征摘要】
1.即时编译器中一种基于云的热路径优化方法,其特征在于,针对某一程序,进行如下
步骤:
步骤1:当程序空闲时,判断本地即使编译器中的热路径是否有更新,若有,执行步骤
二,否则,执行步骤三;
所述的本地即使编译器中的热路径存储为Jit-Trace格式的数据结构,该数据结构包括一
个字节码方法和包含该字节码方法的执行路径;
步骤2:将本地Jit-Trace格式数据转换为Native-Jit-Traces格式数据;
所述的Native-Jit-Traces格式数据包括数据头和路径数据两部分;数据头包含程序标识符
和版本号Cloud-Jit,程序标识符包括程序的包名、签名和版本号;路径数据部分以<字节码方
法,执行路径数组>的键值对方式组织,执行路径数组中包含对应字节码方法的Jit-Trace格式
中的各执行路径,一个键值对对应一个热路径;
步骤3:将位于本地的Native-Jit-Traces格式数据上传到云端,云端对具有相同程序标识
符的所有Native-Jit-Traces格式数据进行统计整理,生成Cloud-Jit-Traces格式数据,并存储在
云端资源池中;
所述的Cloud-Jit-Traces格式数据包括程序标识符,版本号Cloud-Jit,以及路径数据,路
径数据以<字节码方法,执行路径数组,统计数据>的键值对方式组织,其中,统计数据为相
应字节码方法的统计次数,一个键值对对应一个热路径;
步骤4:在本地程序初始化或者本地程序空闲时,从云端下载对应程序的经过统计处理
的Cloud-Jit-Traces格式数据,并将热路径加入到虚拟机的即时编译队列中。
2.根据权利要求1所述的即时编译器中一种基于云的热路径优化方法,其特征在于,步
骤1中所述的Jit-Trace格式的数据结构,其包含的字节码方法中存储了所属类索引、方法ID、
入口地址及参数信息,其包含的每条执行路径存储了路径的入口点、出口点、字节码指令数
及代码标识。
3.根据权利要求...
【专利技术属性】
技术研发人员:范礼阳,史晓华,赵胜男,杨海燕,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。