[发明专利]结合静态优化的动态二进制翻译方法有效
申请号: | 200810207804.3 | 申请日: | 2008-12-25 |
公开(公告)号: | CN101452396A | 公开(公告)日: | 2009-06-10 |
发明(设计)人: | 管海兵;梁阿磊;徐超;顾静辉;林凌 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 上海交达专利事务所 | 代理人: | 毛翠莹 |
地址: | 200240*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种结合静态优化的动态二进制翻译方法,在源程序第一遍执行时在翻译后的代码中插入探测指令,收集丰富的剖分信息,并在程序运行结束时将剖分信息和翻译后的目标代码持久化,利用保存的剖分信息对翻译后的目标代码在静态期间做各种优化,在此程序以后的运行中直接加载这些经过优化的目标代码。本发明提出的这种新的翻译模式,可以消除动态二进制翻译器运行时的profiling、优化开销,减少翻译开销,通过将优化放在静态执行,可以利用更加全面的剖分信息,并且不用顾忌优化的开销,提高了优化后代码的质量,从而使得程序的性能在第二遍及以后的运行中得到明显的提高。 | ||
搜索关键词: | 结合 静态 优化 动态 二进制 翻译 方法 | ||
【主权项】:
1、一种结合静态优化的动态二进制翻译方法,其特征在于包括如下步骤:1)以基本块为单位划分程序,跳转指令的下一条指令开始到下一个跳转指令为一个基本块;2)二进制翻译器以基本块为单位,将源机器代码翻译成目标代码,收集翻译后的目标代码的重定位信息,生成一个重定位信息表,重定位信息表中记录下每条需要重定位指令在内存中的偏移、重定位类型、回填地址时要使用的详细信息;3)在每个目标代码基本块的尾部插入探测指令,用以在程序运行时收集剖分信息;4)程序执行结束时将剖分信息、翻译后的目标代码和重定位信息表保存到文件中;5)静态利用保存在文件中的剖分信息对翻译后的目标代码进行分析、优化,并将优化后的代码保存在文件当中;6)相同的程序在第二次及以后运行时,以基本块为单位直接加载静态分析优化过的代码文件,每加载完一个基本块,根据重定位信息表对此基本块中的指令进行重定位。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810207804.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种自适应电子地图符号的系统及方法
- 下一篇:一价到底房屋贷款的方法与平台