申请/专利权人:龙芯中科技术股份有限公司
申请日:2018-07-27
公开(公告)日:2024-04-05
公开(公告)号:CN110764771B
主分类号:G06F8/41
分类号:G06F8/41;G06F9/455
优先权:
专利状态码:有效-授权
法律状态:2024.04.05#授权;2021.01.26#著录事项变更;2020.03.03#实质审查的生效;2020.02.07#公开
摘要:本发明提供了一种动态编译方法和装置、可读存储介质及电子设备,其中所述动态编译方法获取热点方法对应的剖面分析数据;对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据;依据所述目标剖面分析数据将所述热点方法编译为本地代码。本发明提供的动态编译方法,能够提升剖面分析数据的准确性,通过纠正后的目标剖面分析数据编译所对应的热点方法,能够提升系统的性能。
主权项:1.一种动态编译方法,其特征在于,所述方法包括:获取热点方法对应的剖面分析数据;其中,所述热点方法为一组连续的虚拟机指令序列;对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据;依据所述目标剖面分析数据将所述热点方法编译为本地代码;其中,所述热点方法包含至少一个调用点;所述剖面分析数据中包含每个调用点及其对应的调用次数;对所述剖面分析数据中的污点数据进行纠正,生成目标剖面分析数据的步骤,包括:获取所述剖面分析数据中调用点对应的调用次数为零的数据;从所述调用次数为零的数据中确定污点数据,并对所述污点数据进行纠正,生成目标剖面分析数据;对所述污点数据进行纠正,生成目标剖面分析数据的步骤,包括:基于预先构造的所述热点方法对应的程序控制流图,确定所述热点方法调用的第一节点集合;其中,所述热点方法包含的每个调用点在所述程序控制流图中均有对应的节点,所述第一节点集合至少包含一个所述节点;按照第一预设规则循环遍历所述第一节点集合中的每个第一节点,确定调用次数为零的第一节点,并根据所述预先构造的热点方法对应的程序控制流图,分别确定所述每个第一节点被调用时必经的第二节点集合;其中,所述第二节点集合中的每一个节点均属于第一节点集合,对确定的所述第一节点对应的调用次数进行纠正,直至所述确定的第一节点对应的调用次数均不再变化为止;将纠正后的每个第一节点对应的调用次数确定为目标剖面分析数据。
全文数据:
权利要求:
百度查询: 龙芯中科技术股份有限公司 动态编译方法和装置、可读存储介质及电子设备
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。