Linux rbp/ebp(x86-64)寄存器是否仍以传统方式使用?

Linux rbp/ebp(x86-64)寄存器是否仍以传统方式使用?,linux,operating-system,x86,kernel,x86-64,Linux,Operating System,X86,Kernel,X86 64,我最近一直在编写一个基于x86-64体系结构的小型内核。在处理一些用户空间代码时,我意识到我实际上没有使用rbp。然后我看了一些其他的东西,发现编译器现在越来越智能,他们真的不再使用rbp了。(我可能错了。) 我想知道,在许多情况下,是否不再需要传统的rbp/epb使用,或者我错了。如果不需要这种用法,那么它可以像通用寄存器一样使用吗 谢谢只有在堆栈帧中具有可变长度数组时才需要它(记录数组长度需要更多内存和更多计算)。展开不再需要它,因为现在有了元数据 如果您手工编写整个汇编函数,它仍然很有用,

我最近一直在编写一个基于x86-64体系结构的小型内核。在处理一些用户空间代码时,我意识到我实际上没有使用rbp。然后我看了一些其他的东西,发现编译器现在越来越智能,他们真的不再使用rbp了。(我可能错了。)

我想知道,在许多情况下,是否不再需要传统的rbp/epb使用,或者我错了。如果不需要这种用法,那么它可以像通用寄存器一样使用吗

谢谢

只有在堆栈帧中具有可变长度数组时才需要它(记录数组长度需要更多内存和更多计算)。展开不再需要它,因为现在有了元数据

如果您手工编写整个汇编函数,它仍然很有用,但是谁来做呢?程序集只能用作跳转到C(或其他)函数的粘合剂