-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Enable ETW_EBP_FRAMED flag on System V systems. #468
Conversation
@shanselman @CarolEidt @BruceForstall |
@schellap Could you look into this please? |
* so reserve two extra callee saved | ||
* This is better than pushing eax, ecx, because we in the later | ||
* we will mess up already computed offsets on the stack (for ESP frames) | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you not in sync? Looks like you changed this to // style comments before, and now you're reverting that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am up to date. Thanks! Long story... Had to revert so, I branch this branch as close as the master for the next work item. I will make sure I check in the right style comment.
LGTM |
I did a quick test of this change on OSX and the profiler seems to be able to walk stacks including both native and JIT compiled code (even though it can't resolve the JIT frames to names). The data seems much more cohesive with this change. Thanks! |
Thanks Brian! I am doing very extensive testing on this right now. It is rather pervasive change. I don't want to regress something. I will check it in as soon as DDRs complete. Thanks again! And thank you for the patience... |
Awesome. No worries at all - this is not really blocking anything at this point, but it is going to give us much better perf and tracing data when we really start to collect it. |
Enable the ETW_EBP_FRAMED flag on System V systems to allow for using frame pointer (RBP) for mostly all functions. The change includes: 1. Removing RBP from all the lists of registers that the RA uses to assign to tmps/vars/etc. 2. Enable generation of unwind info for pushing of REG_FPBASE even if not included in callee-save list of registers. 3 Fixed a conservative assert - for System V systems stack offset for reg passed argument can be 0 or even positive.
Done testing this extensively. DDRs passed on Windows with and without the feature enabled. No Win Asm diffs. |
Enable ETW_EBP_FRAMED flag on System V systems.
Just merged in master. |
Enable the ETW_EBP_FRAMED flag on System V systems to allow for using
frame pointer (RBP) for mostly all functions.
The change includes:
to tmps/vars/etc.
of registers.
3 Fixed a conservative assert - for System V systems stack offset for reg
passed argument can be 0 or even positive.