-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Remove more helper frames by converting methods to QCalls #96926
Conversation
Thread.SleepWorker Thread.GetIsBackground Thread.SetIsBackground Thread.Interrupt
src/coreclr/System.Private.CoreLib/src/Microsoft/Win32/OAVariantLib.cs
Outdated
Show resolved
Hide resolved
src/coreclr/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs
Outdated
Show resolved
Hide resolved
src/coreclr/System.Private.CoreLib/src/Microsoft/Win32/OAVariantLib.cs
Outdated
Show resolved
Hide resolved
src/coreclr/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs
Outdated
Show resolved
Hide resolved
src/coreclr/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs
Outdated
Show resolved
Hide resolved
// Return whether or not this is a background thread. | ||
FCIMPL1(FC_BOOL_RET, ThreadNative::IsBackground, ThreadBaseObject* pThisUNSAFE) | ||
FCIMPL1(FC_BOOL_RET, ThreadNative::GetIsBackground, ThreadBaseObject* pThisUNSAFE) | ||
{ | ||
FCALL_CONTRACT; | ||
|
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.
(for future PRs)
We will need to get rid of the FCThrowRes
too. I think the best way to do it - without regressing performance - is to duplicate some of the state bits on the managed thread object, so that the IsDead check can be done in C#.
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.
Thank you!
* Remove FCall in interop code * Convert DisableComObjectEagerCleanup to QCall. * Convert the following to QCalls. Thread.SleepWorker Thread.GetIsBackground Thread.SetIsBackground Thread.Interrupt * Feedback
No description provided.