Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

[x86/Linux] Fix EnclosingClauseCallerSP#9607

Closed
wateret wants to merge 1 commit into
dotnet:masterfrom
wateret:fix-x86-eh
Closed

[x86/Linux] Fix EnclosingClauseCallerSP#9607
wateret wants to merge 1 commit into
dotnet:masterfrom
wateret:fix-x86-eh

Conversation

@wateret
Copy link
Copy Markdown
Member

@wateret wateret commented Feb 15, 2017

Seems like this is missing part of x86/linux port.

@wateret
Copy link
Copy Markdown
Member Author

wateret commented Feb 15, 2017

Test results on x86

version : master w/ #9601

=======================
     Test Results
=======================
# CoreCLR Bin Dir  :
# Tests Discovered : 7034
# Passed           : 6287
# Failed           : 469
# Skipped          : 278
=======================

version : master w/ #9601 and this PR

=======================
     Test Results
=======================
# CoreCLR Bin Dir  :
# Tests Discovered : 7034
# Passed           : 6308
# Failed           : 448
# Skipped          : 278
=======================

@wateret
Copy link
Copy Markdown
Member Author

wateret commented Feb 15, 2017

cc: @parjong @jkotas @janvorli

_ASSERTE(pRD->IsCallerContextValid || pRD->IsCallerSPValid);
UINT_PTR EnclosingClauseCallerSP = (UINT_PTR)GetSP(pRD->pCallerContext);
#else // !_ARM_ && !_AMD64_ && !_ARM64_
#else // !_ARM_ && !_AMD64_ && !_ARM64_ && !_X86_
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A nit - can you please fix the comment to reflect the real define names (_TARGET_XXX_)?

UINT_PTR EnclosingClauseCallerSP = (UINT_PTR)pDispatcherContext->EstablisherFrame;
#elif defined(_TARGET_AMD64_)
// Extract the CallerSP from RegDisplay on AMD64
#elif defined(_TARGET_AMD64_) || defined(_TARGET_X86_)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure if we want to use the ARM or AMD64 way for x86 - did we already make a choice in this matter? I
If we follow the amd64 way, then we also need to fix the code here:
https://github.com/dotnet/coreclr/blob/master/src/vm/exceptionhandling.cpp#L2843-L2849
and here:
https://github.com/dotnet/coreclr/blob/master/src/vm/exceptionhandling.cpp#L3109-L3115
(and if not, we should modify the comments at those places to mention x86).

@stephentoub
Copy link
Copy Markdown
Member

@dotnet-bot test this please (Jenkins was down)

@wateret
Copy link
Copy Markdown
Member Author

wateret commented Feb 27, 2017

Closing since #9814 handles this.

@wateret wateret closed this Feb 27, 2017
@wateret wateret deleted the fix-x86-eh branch July 11, 2017 06:28
@karelz karelz modified the milestone: 2.0.0 Aug 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants