[发明专利]函数调用方法及装置在审
申请号: | 202211213521.6 | 申请日: | 2022-09-30 |
公开(公告)号: | CN115509645A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 杜超;高斐;王峰 | 申请(专利权)人: | 北京奕斯伟计算技术股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F8/41 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 刘铁鸣;刘铁生 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 调用 方法 装置 | ||
本申请公开一种函数调用方法及装置,涉及计算机技术领域。本申请的方法包括:获取目标应用程序对应的目标可执行二进制代码;执行目标可执行二进制代码;当需要调用目标函数时,执行目标序言指令,以实现根据待开辟栈空间大小参数开辟目标栈空间,并根据多个目标寄存器对应的预设顺序依次将每个目标寄存器内保存的内容存储至目标栈空间中;调用目标函数;在目标函数调用结束后,执行目标尾声指令,以实现根据多个目标寄存器对应的预设顺序和待开辟栈空间大小参数将目标栈空间中存储的每个目标寄存器对应的内容恢复至每个目标寄存器内,并将栈指针恢复至目标位置,其中,目标位置为调用目标函数前,栈指针所在的位置。
技术领域
本申请涉及计算机技术领域,尤其涉及一种函数调用方法及装置。
背景技术
在CPU运行应用程序对应的可执行二进制代码的过程中,当需要调用某个函数时,先执行该函数对应的多条函数序言指令,以实现开辟一个栈空间,并将要保护的多个寄存器中保存的内容存储至栈空间中;再调用该函数;在该函数调用结束后,执行该函数对应的多条函数尾声指令,以实现将栈空间中存储的每个寄存器对应的内容恢复至每个寄存器中,从而保证该函数的正常调用和该应用程序的正常运行。
由于,应用程序在运行过程中需要频繁调用函数,因此,CPU在执行应用程序对应的可执行二进制代码的过程中,需要执行大量的函数序言指令和函数尾声指令,然而,执行大量的函数序言指令和函数尾声指令会导致CPU调用函数的效率较低,从而会降低CPU运行应用程序的性能。
发明内容
本申请实施例提供一种函数调用方法及装置,主要目的在于提高CPU调用函数的效率,从而提高CPU运行应用程序的性能。
为解决上述技术问题,本申请实施例提供如下技术方案:
第一方面,本申请提供了一种函数调用方法,所述方法应用于CPU,所述方法包括:
获取目标应用程序对应的目标可执行二进制代码,其中,所述目标可执行二进制代码中包含目标函数、所述目标函数对应的目标序言指令和目标尾声指令,所述目标序言指令和所述目标尾声指令中均包含待开辟栈空间大小参数;
执行所述目标可执行二进制代码;
当需要调用所述目标函数时,执行所述目标序言指令,以实现根据所述待开辟栈空间大小参数开辟目标栈空间,并根据多个目标寄存器对应的预设顺序依次将每个所述目标寄存器内保存的内容存储至所述目标栈空间中;
调用所述目标函数;
在所述目标函数调用结束后,执行所述目标尾声指令,以实现根据多个所述目标寄存器对应的预设顺序和所述待开辟栈空间大小参数将所述目标栈空间中存储的每个所述目标寄存器对应的内容恢复至每个所述目标寄存器内,并将栈指针恢复至目标位置,其中,所述目标位置为调用所述目标函数前,所述栈指针所在的位置。
可选的,在所述获取目标应用程序对应的目标可执行二进制代码之前,所述方法还包括:
运行编译器;
将所述目标应用程序对应的源代码输入至所述编译器中,以便所述编译器将所述目标应用程序对应的源代码编译为可执行二进制代码,并在根据预设算法、每个所述目标寄存器对应的容量大小和所述目标函数包含的每个局部变量对应的数据量大小计算待开辟栈空间大小后,根据所述待开辟栈空间大小生成所述目标序言指令和所述目标尾声指令,以及将所述目标序言指令和所述目标尾声指令添加至所述可执行二进制代码中,以获得所述目标可执行二进制代码。
可选的,所述执行所述目标序言指令,包括:
将所述目标序言指令输入至译码模块中,以便所述译码模块对所述目标序言指令进行译码处理,以获得所述目标序言指令对应的译码结果;
根据所述目标序言指令对应的译码结果控制第一专用电路执行所述目标序言指令对应的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奕斯伟计算技术股份有限公司,未经北京奕斯伟计算技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211213521.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:齐平式车窗总成及装配公差的控制方法
- 下一篇:便于回收电解液的锂电池拆解装置