发明名称 | 函数调用和返回的处理方法、二进制翻译方法和系统 | ||
摘要 | 本发明公开了一种函数调用和返回的处理方法、二进制翻译方法和系统,所述函数调用和返回的处理方法包括:将源程序的函数调用的返回地址作为假指令保存在目标程序的函数调用指令之后;在目标程序的函数调用开始,将所述假指令的地址保存到栈中;在目标程序的函数调用结束,将栈顶保存的地址取出,在所述从栈顶取出的地址的值是否等于所述源程序的函数调用的返回地址时,跳转到所述假指令后。本发明可以在函数调用后快速返回,并且可以避免因哈希冲突造成效率低的问题,因此能够减少返回型间接分支的开销,提高二进制翻译的性能。 | ||
申请公布号 | CN101452395A | 申请公布日期 | 2009.06.10 |
申请号 | CN200710094328.4 | 申请日期 | 2007.11.28 |
申请人 | 无锡江南计算技术研究所 | 发明人 | 唐大国;王丽一;漆锋滨;文延华;卿鹏;孙俊 |
分类号 | G06F9/45(2006.01)I | 主分类号 | G06F9/45(2006.01)I |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
主权项 | 1. 一种函数调用和返回的处理方法,其特征在于,包括:将源程序的函数调用的返回地址作为假指令保存在目标程序的函数调用指令之后;在目标程序的函数调用开始,将所述假指令的地址保存到栈中;在目标程序的函数调用结束,将栈顶保存的地址取出,在所述从栈顶取出的地址的值等于所述源程序的函数调用的返回地址时,跳转到所述假指令后。 | ||
地址 | 214083江苏省无锡市滨湖区军东新村030号 |