gh-146058: Fix _GUARD_CODE_VERSION_*#146060
Conversation
|
|
markshannon
left a comment
There was a problem hiding this comment.
Thanks for getting to this so quickly.
I would rather we do the fix now, and then add any new optimizations in a later PR.
I think it is OK to match the optimizations already done for the equivalent _GUARD_IP uops in this PR, but no more.
|
When you're done making the requested changes, leave the comment: |
|
I have made the requested changes; please review again. |
|
Thanks for making the requested changes! @markshannon: please review the changes made to this pull request. |
You still have the new optimizations in, which I think are wrong. |
Ok will remove them. |
|
Thanks for making the requested changes! @markshannon: please review the changes made to this pull request. |
markshannon
left a comment
There was a problem hiding this comment.
That looks good thanks.
Regarding the optimizations, we should add the symbol of the function to the abstract frame, and use that to optimize _GUARD_CODE_VERSION__PUSH_FRAME and _GUARD_IP__PUSH_FRAME
The other _GUARD_CODE_VERSION_ variants can be optimized exactly the same as the existing _GUARD_IP_ variants.
|
It is also possible to use a code watcher to strengthen the IP guard to eliminate the code guard. |
I'm not too clear how this works, so please bear with me, I was under the impression that if the symbol points to a valid function and has a valid version it should be safe? |
Yes, that's right. |
_GUARD_CODE_VERSIONcan exit to the wrong location #146058