Skip to content
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

Merged
merged 4 commits into from
Jan 16, 2024

Conversation

AaronRobinsonMSFT
Copy link
Member

No description provided.

// 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;

Copy link
Member

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#.

Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

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

Thank you!

@jkotas jkotas merged commit cd7e4ca into dotnet:main Jan 16, 2024
107 of 111 checks passed
@AaronRobinsonMSFT AaronRobinsonMSFT deleted the remove_helper_frames branch January 16, 2024 14:23
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
* Remove FCall in interop code

* Convert DisableComObjectEagerCleanup to QCall.

* Convert the following to QCalls.
Thread.SleepWorker
Thread.GetIsBackground
Thread.SetIsBackground
Thread.Interrupt

* Feedback
@github-actions github-actions bot locked and limited conversation to collaborators Feb 16, 2024
Sign up for free to 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