众所周知,当我们使用" call"指令,我们将在x86& x64中创建一个返回地址堆栈缓冲区(参见http://www.agner.org/optimize/microarchitecture.pdf p.36),以便将来预测函数返回地址。)
但是“系统调用”指令怎么样?它是否会在通过sysret返回时中断前一个返回堆栈缓冲区?我们可以像jmp指令一样查看它,只能从返回堆栈缓冲区的角度来看吗?
哦,这完全不是关于调用约定而是(分支预测单元)实现"系统调用"和" sysret" x64 CPU中的指令。该问题与"系统调用"。
之前/之后的注册状态无关