【发布时间】:2016-11-01 03:48:28
【问题描述】:
我最近接触了链接寄存器和叶子函数的概念。
我从之前的 SO 中了解到,LR 告诉了代码在执行期间之前的位置。我还知道叶函数是位于函数调用层次结构末尾的函数。
链接寄存器支持快速叶函数调用。
为什么这个说法是正确的?我查看了 ARMARM(架构参考手册),链接寄存器的信息很少。
【问题讨论】:
-
请注意,现代微架构往往具有硬件返回堆栈,可预测函数将返回的位置,从而允许通过返回进行推测执行。即使没有链接寄存器的处理器实际上也不会等待从内存中重新加载返回地址。
标签: assembly arm cpu-architecture instruction-set