Skip to content

Use alternatives to redirecting threads via IP changes in the context, for a few cases on Windows - #55649

Merged
kouvel merged 6 commits into
dotnet:mainfrom
kouvel:UseApc
Jul 15, 2021
Merged

Use alternatives to redirecting threads via IP changes in the context, for a few cases on Windows#55649
kouvel merged 6 commits into
dotnet:mainfrom
kouvel:UseApc

Conversation

@kouvel

Copy link
Copy Markdown
Contributor
  • For GC/debugger suspension, a new variant of an APC is used to interrupt the thread
  • For hardware exceptions, an exception is raised from the vectored exception handler instead of redirecting and then raising an exception
  • Made changes to enable /guard:ehcont and /cetcompat for binaries, but commented out the enablement for now since it looks like we will first need .pgd files generated with /guard:ehcont and published for release builds to succeed

@kouvelkouvel added this to the 6.0.0 milestone Jul 14, 2021
@kouvel
kouvel requested a review from janvorliJuly 14, 2021 15:23
@kouvelkouvel self-assigned this Jul 14, 2021
…, for a few cases on Windows
- For GC/debugger suspension, a new variant of an APC is used to interrupt the thread
- For hardware exceptions, an exception is raised from the vectored exception handler instead of redirecting and then raising an exception
- Made changes to enable /guard:ehcont and /cetcompat for binaries, but commented out the enablement for now since it looks like we will first need .pgd files generated with /guard:ehcont and published for release builds to succeed
Comment threadeng/native/configurecompiler.cmake
Comment threadsrc/coreclr/vm/threads.cpp Outdated
Comment threadsrc/coreclr/vm/amd64/RedirectedHandledJITCase.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated
Comment threadsrc/libraries/Native/Windows/CMakeLists.txt

@janvorlijanvorli left a comment

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.

LGTM, thank you!

@kouvel
kouvel merged commit 663013d into dotnet:mainJul 15, 2021
@kouvel
kouvel deleted the UseApc branch July 15, 2021 16:34
@ghostghost locked as resolved and limited conversation to collaborators Aug 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@kouvel@jkotas@janvorli