[发明专利]包含栈变量函数的优化方法有效
申请号: | 201010107353.3 | 申请日: | 2010-02-05 |
公开(公告)号: | CN101847096A | 公开(公告)日: | 2010-09-29 |
发明(设计)人: | 李建军;武成岗 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种包含栈变量函数的优化方法,包括:申请一段物理内存空间作为所要优化的函数的映像栈,然后再申请一段虚拟内存空间作为所要优化的函数的影子栈;在所要优化的函数中选择要被提升到空闲寄存器中的栈变量;插入将被优化函数的函数栈从系统栈切换到映像栈的指令、将栈变量的内容提升到寄存器中的指令以及将映像栈中的虚存页设为保护状态的指令;将所有包含对所提升栈变量操作的指令替换为对相应寄存器操作的指令,将所有对未提升的栈变量的操作替换为对所述影子栈上相应虚存地址的操作;插入将映像栈中的虚存页解除保护状态的指令、将被提升的栈变量的内容从寄存器存回内存的指令、将函数栈帧从映像栈切换回系统栈的指令。 | ||
搜索关键词: | 包含 变量 函数 优化 方法 | ||
【主权项】:
一种包含栈变量函数的优化方法,包括:步骤1)、申请一段物理内存空间作为所要优化的函数的映像栈,然后再申请一段虚拟内存空间作为所要优化的函数的影子栈,将该段虚拟内存空间映射到与所述映像栈相同的物理内存;步骤2)、在所述所要优化的函数中识别栈变量,从中选择要被提升到空闲寄存器中的栈变量;步骤3)、在所要优化函数的入口处插入将被优化函数的函数栈从系统栈切换到映像栈的指令、将栈变量的内容提升到寄存器中的指令以及将映像栈中的虚存页设为保护状态的指令;步骤4)、在所要优化函数的代码中,将所有包含对所提升栈变量操作的指令替换为对相应寄存器操作的指令,将所有对未提升的栈变量的操作替换为对所述影子栈上相应虚存地址的操作;步骤5)、在所要优化函数的出口处依次插入将映像栈中的虚存页解除保护状态的指令、将被提升的栈变量的内容从寄存器存回内存的指令、将函数栈帧从映像栈切换回系统栈的指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010107353.3/,转载请声明来源钻瓜专利网。
- 上一篇:应用异常控制流集的软件测试方法及系统
- 下一篇:一种候选项展现装置和方法