[发明专利]动态编译方法和装置、可读存储介质及电子设备在审
申请号: | 201810847490.7 | 申请日: | 2018-07-27 |
公开(公告)号: | CN110764771A | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 傅杰;陈昊轩;王雪;敖琪;高翔 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/455 |
代理公司: | 11319 北京润泽恒知识产权代理有限公司 | 代理人: | 莎日娜 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 剖面分析 动态编译 可读存储介质 方法和装置 电子设备 数据编译 提升系统 污点数据 纠正 编译 | ||
1.一种动态编译方法,其特征在于,所述方法包括:
获取热点方法对应的剖面分析数据;其中,所述热点方法为一组连续的虚拟机指令序列;
对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据;
依据所述目标剖面分析数据将所述热点方法编译为本地代码。
2.根据权利要求1所述的方法,其特征在于,所述热点方法包含至少一个调用点;所述剖面分析数据中包含每个调用点及其对应的调用次数;
对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据的步骤,包括:
获取所述剖面分析数据中调用点对应的调用次数为零的数据;
从所述调用次数为零的数据中确定污点数据,并对所述污点数据进行纠正,生成目标剖面分析数据。
3.根据权利要求2所述的方法,其特征在于,对所述污点数据进行纠正,生成目标剖面分析数据的步骤,包括:
基于预先构造的所述热点方法对应的程序控制流图,确定所述热点方法调用的第一节点集合;其中,所述热点方法包含的每个调用点在所述程序控制流图中均有对应的节点;
按照第一预设规则循环遍历所述第一节点集合中的每个第一节点,确定调用次数为污点数据的第一节点,并对确定的所述第一节点对应的调用次数进行纠正,直至所述确定的第一节点对应的调用次数均不再变化为止;
将纠正后的每个第一节点对应的调用次数确定为目标剖面分析数据。
4.根据权利要求3所述的方法,其特征在于,按照第一预设规则循环遍历所述第一节点集合中的每个第一节点,确定调用次数为污点数据的第一节点,并对确定的所述第一节点对应的调用次数进行纠正的步骤,包括:
根据所述预先构造的热点方法对应的程序控制流图,分别确定所述每个第一节点被调用时必经的第二节点集合;其中,所述第二节点集合中的每一个节点均属于第一节点集合;
当判定所述剖面分析数据中存在任意一第一节点对应的调用次数为零时,若所述任意一节点满足预设条件,则将所述任意一节点作为所述确定的第一节点,并保持所述确定的第一节点对应的调用次数不变;
当判定所述剖面分析数据中存在任意一第一节点对应的调用次数不为零时,按照第二预设规则遍历所述任意一第一节点被调用时必经的第二节点集合中的每个第二节点,分别对所述每个第二节点对应的调用次数进行纠正;
根据纠正后的所有第二节点对应的调用次数,对所述确定的第一节点对应的调用次数进行纠正。
5.根据权利要求4所述的方法,其特征在于,按照第二预设规则遍历所述任意一第一节点被调用时必经的第二节点集合中的每个第二节点,分别对所述每个第二节点对应的调用次数进行纠正的步骤,包括:
针对所述第二节点集合中的每个第二节点,均执行如下操作:
判断所述剖面分析数据中所述第二节点对应的调用次数是否为零;
若是,则将所述第二节点对应的调用次数纠正为预设值;其中,所述预设值为非零值;
若否,则保持所述第二节点对应的调用次数不变。
6.一种动态编译装置,其特征在于,所述装置包括:
获取模块,用于获取热点方法对应的剖面分析数据;其中,所述热点方法为一组连续的虚拟机指令序列;
纠正模块,用于对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据;编译模块,用于依据所述目标剖面分析数据将所述热点方法编译为本地代码。
7.根据权利要求6所述的装置,其特征在于,所述纠正模块包括:
获取子模块,用于获取所述剖面分析数据中调用点对应的调用次数为零的数据,其中,所述热点方法包含至少一个调用点;所述剖面分析数据中包含每个调用点及其对应的调用次数;
纠正子模块,用于从所述调用次数为零的数据中确定污点数据,并对所述污点数据进行纠正,生成目标剖面分析数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810847490.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对象间转换与赋值的方法和装置
- 下一篇:兼容多种NFCC的方法及装置