3 ms·
Are you talking about http://www.x86-64.org/documentation/abi.pdf http://www.x86-64.org/documentation/abi.pdf, and footnote 7 on page 16, which reads: "7 The c
by brendangregg 12y ago
Are you talking about http://www.x86-64.org/documentation/abi.pdf http://www.x86-64.org/documentation/abi.pdf, and footnote 7 on page 16, which reads:
"7 The conventional use of %rbp as a frame pointer for the stack frame may be avoided by using
%rsp (the stack pointer) to index into the stack frame. This technique saves two instructions in
the prologue and epilogue and makes one additional general-purpose register (%rbp) available."
%rbp is mentioned elsewhere, eg, "optionally used as frame
pointer"
This ABI does not appear to specify that the frame pointer is omitted. It uses the words "may" and "optionally". Which means, the gcc engineers can choose to do what they want. And they should choose to keep the frame pointer _by default_, and _optionally_ omit it (for when the sacrifice is deemed worth it): -fomit-frame-pointer. This would better follow the language used in the ABI! :-)
We've found debuginfo to be large (size, bytes), which can slow down instance creation, which means we must run with a higher headroom to accommodate. A stripped-down debuginfo that just enabled stack walking might do.
- nwmcsween 12y agoCompress the debug info? Gdb handles it no idea about perf though, there is also dwo to remove redundant debug info.