[x86/Linux] Do NOT use Shadow SP#8913
Conversation
|
\CC @seanshpark |
|
@dotnet-bot test OSX x64 Checked Build and Test please |
|
@janvorli Please take a look. |
| // Since each subsequent slot contains the SP of a more nested EH clause, the contents of the slots are | ||
| // expected to be in decreasing order. | ||
| size_t lvl; | ||
| size_t lvl = 0; |
There was a problem hiding this comment.
@parjong looking at the code that calls this function, I wonder if it should be called at all for x86 with WIN64EXCEPTIONS. Most of the callers do nothing if the TARGET_X86 is not defined and it seems like these ifdefs should be augmented for TARGET_X86 && !WIN64EXCEPTIONS.
I am not 100% sure though.
@jkotas do you know if I am right here or will I need to look through the code to get full understanding?
There was a problem hiding this comment.
Both ifdefing the implementation or ifdefing all callers sounds plausible to me. I am not able to tell what will turn out better.
There was a problem hiding this comment.
@jkotas I guess I was not clear. My question was if this code is really meant just for the Windows x86 style EH.
There was a problem hiding this comment.
Yes, the shadow SP slots that this change is ifdefing out should not be needed for WIN64EXCEPTIONS.
Commit migrated from dotnet/coreclr@e312e9a
JIT with FEATURE_EH_FUNCLETS seems not to generate shadow SP slots, which results in assert failures inside GetHandlerFrameInfo.
This is another step to resolve #8887.