【技术实现步骤摘要】
【国外来华专利技术】响应于到子例程的分支而预测内容表指针值
技术介绍
一个或多个方面一般涉及计算环境内的处理,尤其涉及促进这样的处理。许多计算系统使用全局偏移表(GOT)或内容表(TOC)来填充源代码内的变量。例如,编译器从源代码生成目标代码,而不知道代码/数据的最终地址或位移。具体地,编译器生成目标代码,该目标代码将访问变量值的变量地址参考数据结构(例如,全局偏移表或内容表),而不知道数据结构的最终大小或各种数据部分的偏移/地址。用于该信息的占位符被留在目标代码中并由链接器更新。为了访问GOT或TOC,使用指针。指针通常由指令序列计算。这些指令通常依赖于计算的寄存器,这些寄存器在处理器中不总是容易得到的。因此,对依赖于TOC的变量(即,除局部变量之外的变量)的访问会被延迟。
技术实现思路
通过提供一种用于促进计算环境内的处理的计算机程序产品,克服了现有技术的缺点,并提供了附加的优点。该计算机程序产品包括可由处理电路读取并且存储用于执行方法的指令的计算机可读存储介质。该方法包括例如从在处理器上执行的调用模块调用子例程。基于调用子例程,预测指向参考数据结构的指针的值。在执行子例程中的用于计算所述值的一个或多个指令的序列之前执行所述预测。所预测的值被用于访问参考数据结构以获得子例程的变量的变量值。通过基于调用子例程来预测指针的值,提高了性能。在另一方面,在预测之前获得指针的当前值,并且将当前值存储在恢复位置。这是为了在误预测的情况下促进恢复。在一个实施例中,确定为指针预测的值不正确。基于确定为指针预测的值不正确,从恢复位置恢复 ...
【技术保护点】
1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:/n计算机可读存储介质,其可由处理电路读取并且存储用于执行方法的指令,所述方法包括:/n从在处理器上执行的调用模块调用子例程;/n基于调用所述子例程,预测指向参考数据结构的指针的值,所述预测是在执行所述子例程中的用于计算所述值的一个或多个指令的序列之前执行;以及/n使用被预测的所述值来访问所述参考数据结构,以获得所述子例程的变量的变量值。/n
【技术特征摘要】
【国外来华专利技术】20170919 US 15/708,223;20171121 US 15/819,4201.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,其可由处理电路读取并且存储用于执行方法的指令,所述方法包括:
从在处理器上执行的调用模块调用子例程;
基于调用所述子例程,预测指向参考数据结构的指针的值,所述预测是在执行所述子例程中的用于计算所述值的一个或多个指令的序列之前执行;以及
使用被预测的所述值来访问所述参考数据结构,以获得所述子例程的变量的变量值。
2.根据权利要求1所述的计算机程序产品,其中所述方法进一步包括:
在所述预测之前获得所述指针的当前值;以及
将所述当前值存储在恢复位置中。
3.根据权利要求2所述的计算机程序产品,其中所述方法进一步包括:
确定为所述指针预测的所述值不正确;以及
基于确定为所述指针预测的所述值不正确,从所述恢复位置获得所述当前值。
4.根据权利要求1所述的计算机程序产品,其中所述方法进一步包括将为所述指针预测的所述值加载在限定位置中。
5.根据权利要求1所述的计算机程序产品,其中所述方法进一步包括:
确定所述子例程中的当前指令是否对应于用于计算所述值的所述一个或多个指令的序列;以及
基于确定所述当前指令对应于用于计算所述值的所述一个或多个指令的序列,在所述代码中插入用于检查所述值的所述预测的检查指令,所述插入替换所述一个或多个指令的序列。
6.根据权利要求5所述的计算机程序产品,其中所述方法进一步包括:
确定是否设置了检查指示符;以及
基于确定设置了所述检查指示符,确定所述当前指令是否对应于用于计算所述值的所述一个或多个指令的序列。
7.根据权利要求5所述的计算机程序产品,其中所述方法进一步包括:
基于确定所述当前指令不对应于用于计算所述值的所述一个或多个指令的序列,确定所述当前指令是否对应于用于使用所述值的一个或多个指令的序列;以及
至少基于确定所述当前指令对应于用于使用所述值的所述一个或多个指令的序列,执行恢复。
8.根据权利要求1所述的计算机程序产品,其中所述一个或多个指令的序列包括加载指令。
9.根据权利要求1所述的计算机程序产品,其中所述方法进一步包括:
在所述预测之前获得所述指针的当前值;以及
将所述当前值存储在重命名寄存器中以供在恢复中使用。
10.根据权利要求1所述的计算机程序产品,其中所述预测包括使用参考数据结构指针高速缓存来获得所述值。
11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:
存储器;以及
与所述存储器通信的处理器,其中所述计算机系统被配置为执行方法,所述方法包括:
从在处理器上执...
【专利技术属性】
技术研发人员:MK格施温德,V萨拉普拉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。