动态编译方法及装置的制造方法_4

文档序号:9929420阅读:来源:国知局
f的值为非负;
[0119] (3)当size (m)彡0时,所述f随所述size (m)单调递减;
[0120] (4)当speed (m)彡0时,所述f随所述speed (m)单调递增。
[0121] 可选的,所述f为以下公式:
[0124] 可选的,所述参数获取模块401,所述参数获取模块,具体用于采用以下公式得到 所述热点方法m的运行速度speed (m):
[0126] 其中,所述At为当前时刻前的长度为预设时间常量的时间段,A execute (m)表 示在过去的△ t时间段内所述热点方法m的执行次数。
[0127] 采用本发明实施例提供的动态编译装置,以各待编译的热点方法的运行速度和大 小为参数确定的各热点方法的优先级,综合反映了各待编译的热点方法的重要程度和所需 编译时间这两个关键因素,并优先调度优先级较高的热点方法进行编译,可以大幅度提升 编译的吞吐量,有效提高虚拟机的响应速度。
[0128] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
【主权项】
1. 一种动态编译方法,其特征在于,包括: 在当前编译队列中存在待编译的热点方法时,获取所述当前编译队列中各待编译的热 点方法的运行速度和大小; 根据所述各待编译的热点方法的运行速度和大小,确定所述各待编译的热点方法的优 先级; 调度所述当前编译队列中优先级最高的热点方法进行编译。2. 根据权利要求1所述的方法,其特征在于,所述调度所述当前编译队列中优先级最 高的热点方法进行编译之后,还包括: 将所述优先级最高的热点方法的编译状态置为已编译。3. 根据权利要求1所述的方法,其特征在于,所述调度所述当前编译队列中优先级最 高的热点方法进行编译之后,还包括: 将所述优先级最高的热点方法从所述当前编译队列中删除。4. 根据权利要求1所述的方法,其特征在于,所述获取当前编译队列中各热点方法的 运行速度和大小之后,还包括: 确定所述各热点方法的活跃性度量值,所述活跃性度量值用于体现所述各热点方法的 活跃性; 将活跃性度量值小于或等于活跃性阈值的热点方法从所述当前编译队列中删除;其 中,所述活跃性阈值大于或等于0。5. 根据权利要求4所述的方法,其特征在于, 所述活跃性度量值为热点方法的运行速度;或者, 所述活跃性度量值为热点方法的执行次数。6. 根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述各待编译的热点 方法的运行速度和大小,确定所述各待编译的热点方法的优先级,包括: 对于所述当前编译队列中的任一待编译的热点方法m,根据所述热点方法m的运行速 度speed (m)和大小size (m),采用以下公式得到所述热点方法m的优先级p(m): p (m) = f (size (m), speed (m)); 其中,所述f表示关于所述size (m)和speed (m)的二元函数,并且满足: (1) 所述f在size (m)多0和speed(m)多0时有定义; (2) 对任意size (m)彡0和speed (m)彡0,所述f的值为非负; (3) 当size (m)彡0时,所述f随所述size (m)单调递减; (4) 当speed (m)彡0时,所述f随所述speed (m)单调递增。7. 根据权利要求6所述的方法,其特征在于,所述f为以下公式:8. 根据权利要求6所述的方法,其特征在于,所述获取所述当前编译队列中各待编译 的热点方法的运行速度,包括: 采用以下公式得到所述热点方法m的运行速度speed (m):其中,所述At为当前时刻前的长度为预设时间常量的时间段,△executeOn)表示在 过去的A t时间段内所述热点方法m的执行次数。9. 一种动态编译装置,其特征在于,包括: 参数获取模块,用于在当前编译队列中存在待编译的热点方法时,获取所述当前编译 队列中各待编译的热点方法的运行速度和大小; 优先级确定模块,用于根据所述参数获取模块获取的所述各待编译的热点方法的运行 速度和大小,确定所述各待编译的热点方法的优先级; 编译调度模块,用于调度所述当前编译队列中优先级最高的热点方法进行编译。10. 根据权利要求9所述的装置,其特征在于,还包括: 编译队列管理模块,用于在所述编译调度模块调度所述当前编译队列中优先级最高的 热点方法进行编译之后,将所述优先级最高的热点方法的编译状态置为已编译。11. 根据权利要求9所述的装置,其特征在于,还包括: 编译队列管理模块,用于在所述编译调度模块调度所述当前编译队列中优先级最高的 热点方法进行编译之后,将所述优先级最高的热点方法从所述当前编译队列中删除。12. 根据权利要求9所述的装置,其特征在于,还包括: 活跃性度量值确定模块,用于所述参数获取模块获取当前编译队列中各热点方法的运 行速度和大小之后,确定所述各热点方法的活跃性度量值,所述活跃性度量值用于体现所 述各热点方法的活跃性; 当前编译队列更新模块,用于将活跃性度量值小于或等于活跃性阈值的热点方法从所 述当前编译队列中删除;其中,所述活跃性阈值大于或等于0。13. 根据权利要求12所述的装置,其特征在于, 所述活跃性度量值为热点方法的运行速度;或者, 所述活跃性度量值为热点方法的执行次数。14. 根据权利要求9-13任一项所述的装置,其特征在于,所述优先级确定模块,具体用 于: 对于所述当前编译队列中的任一待编译的热点方法m,根据所述热点方法m的运行速 度speed (m)和大小size (m),采用以下公式得到所述热点方法m的优先级p(m): p (m) = f (size (m), speed (m)); 其中,所述f表示关于所述size (m)和speed (m)的二元函数,并且满足: (1) 所述f在size (m)多0和speed (m)多0时有定义; (2) 对任意size (m)彡0和speed (m)彡0,所述f的值为非负; (3) 当size (m)彡0时,所述f随所述size (m)单调递减; (4) 当speed (m)彡0时,所述f随所述speed (m)单调递增。15. 根据权利要求14所述的装置,其特征在于,所述f为以下公式:16.根据权利要求14所述的装置,其特征在于,所述参数获取模块,具体用于采用以下 公式得到所述热点方法m的运行速度speed (m):其中,所述At为当前时刻前的长度为预设时间常量的时间段,△executeOn)表示在 过去的A t时间段内所述热点方法m的执行次数。
【专利摘要】本发明实施例提供一种动态编译方法及装置,其中,所述动态编译方法包括:在当前编译队列中存在待编译的热点方法时,获取所述当前编译队列中各待编译的热点方法的运行速度和大小;根据所述各待编译的热点方法的运行速度和大小,确定所述各待编译的热点方法的优先级;调度所述当前编译队列中优先级最高的热点方法进行编译。本发明实施例提供的动态编译方法及装置,可以大幅度提升编译的吞吐量,有效提高虚拟机的响应速度。
【IPC分类】G06F9/45, G06F9/455
【公开号】CN105718298
【申请号】CN201410727430
【发明人】傅杰, 靳国杰, 高翔, 王剑
【申请人】龙芯中科技术有限公司
【公开日】2016年6月29日
【申请日】2014年12月3日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1