-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Delete ThreadAbort support from native AOT #119173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
dotnet/runtimelab#893 (comment) better 4 years late than never I guess. I haven't untangled this fully out of RiscV/Loongarch/Arm yet. Should have done this long time ago.
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
Is this not needed for |
|
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Smoke tests passed with PR branch. |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Pull Request Overview
This PR removes ThreadAbort support from native AOT runtime, completing a long-overdue cleanup of functionality that was partially implemented but never fully functional. The changes systematically eliminate thread abort-related code across all platform architectures, runtime components, and managed interfaces.
Key changes:
- Removed ThreadAbort exception support from the runtime and managed interfaces
- Cleaned up thread abort flags, constants, and state tracking across all architectures
- Simplified exception handling paths by removing thread abort checks
- Updated frame handling to remove thread abort-specific processing
Reviewed Changes
Copilot reviewed 33 out of 33 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
RuntimeImports.cs | Removed ThreadAbort-related native method imports |
threadstore.h/.cpp | Removed ThreadAbort initiation and cancellation methods |
thread.h/.cpp | Removed ThreadAbort exception storage and accessors |
Assembly files (multiple architectures) | Removed PTFF_THREAD_ABORT flags, constants, and abort handling code |
Exception handling files | Removed ThreadAbort exception checks and rethrow logic |
InternalCalls.cs | Removed ThreadAbort exception getter |
ExceptionHandling.cs | Removed ThreadAbort exception creation and handling |
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.
Thanks!
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
/ba-g the failing outerloop tests are fixed in #119312 |
dotnet/runtimelab#893 (comment) better 4 years late than never I guess.
dotnet/runtimelab#893 (comment) better 4 years late than never I guess.
Cc @dotnet/ilc-contrib