[发明专利]待编译代码的过滤方法和装置有效
申请号: | 201610317585.9 | 申请日: | 2016-05-12 |
公开(公告)号: | CN107368347B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 傅杰;靳国杰;高翔;王剑 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张洋;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 代码 过滤 方法 装置 | ||
1.一种待编译代码的过滤方法,应用于动态编译系统中,其特征在于,包括:
在对编译队列中的各待编译代码单元进行编译之前,根据所述编译队列中的各待编译代码单元的活跃信息,分别确定所述编译队列中的各待编译代码单元的活跃性值;
根据各待编译代码单元的活跃性值,确定各待编译代码单元中的疑似僵尸代码单元,并将疑似僵尸代码单元从所述编译队列中删除;其中,僵尸代码单元为对部分所述待编译代码单元进行编译得到被编译代码单元之后,在所述被编译代码单元中的没有被执行过的被编译代码单元;
其中,根据所述编译队列中的各待编译代码单元的活跃信息,分别确定所述编译队列中的各待编译代码单元的活跃性值,包括:获取所述编译队列中的各待编译代码单元的全局活跃信息和局部活跃信息;
根据各待编译代码单元的全局活跃信息和局部活跃信息,确定各待编译代码单元的活跃性值;所述获取所述编译队列中的各待编译代码单元的全局活跃信息和局部活跃信息,包括:
针对所述编译队列中的每个待编译代码单元,确定所述待编译代码单元的总执行次数,并根据所述待编译代码单元的总执行次数,以及预设的虚拟机中的热点识别阈值,确定所述待编译代码单元的全局活跃信息,其中,所述总执行次数为待编译代码单元在虚拟机中的被调用次数和内部循环迭代次数之和;
确定所述待编译代码单元的区间执行次数,并根据所述待编译代码单元的区间执行次数,确定所述待编译代码单元的局部活跃信息,其中,所述区间执行次数为所述待编译代码单元在确定局部活跃信息的时刻之前的预设时间长度的时间段内的执行次数;
其中,所述根据各待编译代码单元的活跃性值,确定各待编译代码单元中的疑似僵尸代码单元,包括:
在各待编译代码单元的活跃性值中,将活跃性值小于预设活跃性阈值的待编译代码单元确定为非活跃的待编译代码单元;
在确定为非活跃的待编译代码单元中确定疑似僵尸代码单元。
2.根据权利要求1所述的方法,其特征在于,所述根据各待编译代码单元的全局活跃信息和局部活跃信息,确定各待编译代码单元的活跃性值,包括:
针对每个待编译代码单元,待编译代码单元的活跃性值为activeness(m)=[global_activeness(m)+1]×[local_activeness(m)+1];
其中,m为待编译队列中的一个待编译代码单元,activeness(m)为待编译代码单元的活跃性值,global_activeness(m)为待编译代码单元的全局活跃信息,local_activeness(m)为待编译代码单元的局部活跃信息。
3.根据权利要求1所述的方法,其特征在于,所述根据各待编译代码单元的活跃性值,确定各待编译代码单元中的疑似僵尸代码单元,还包括:
在各待编译代码单元的活跃性值中,将活跃性值大于等于预设活跃性阈值的待编译代码单元确定为活跃的待编译代码单元。
4.根据权利要求1所述的方法,其特征在于,所述在确定为非活跃的待编译代码单元中确定疑似僵尸代码单元,包括:
若所述编译队列中的待编译代码单元被标记为活跃的待编译代码单元,则确定被标记为活跃的待编译代码单元的各自的计数器值victim(m)=0;
若所述编译队列中的待编译代码单元被标记为非活跃的待编译代码单元,且被确定为非活跃的待编译代码单元的局部活跃信息的值等于零,则确定被标记为非活跃的待编译代码单元的各自的计数器值victim(m)=victim(m)+1;
确定计数器值大于等于预设计数阈值的非活跃的待编译代码单元,为疑似僵尸代码单元,并将疑似僵尸代码单元从所述编译队列中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610317585.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序数据处理的方法及装置
- 下一篇:虚拟机克隆方法及装置