-
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
Move various thread-local objects that were used in self-contained places out of Thread #99989
Conversation
…l of StackingAllocatorHolder instead of Thread
…tRandomInt's implementation (no reliance on the Thread object)
Tagging subscribers to this area: @mangod9 |
Does it address #99661 too? |
It doesn't currently (as that's used a little more often than the metric I used), but I can try making it so. |
This should be done in a separate change. It will chance a lot of places like assembly helpers. |
…y one place that will use it in release builds, and it will only be used once in the process (all other uses are debug-only)
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!
/ba-g The unrecognized failure is #99142, which was closed as a fix was made after this PR started running CI |
Move the following type's thread-specific trackers out of the
Thread
object and into self-contained fields/thread_local globals:Each of these were only used in one centralized location and the only usage of the
Thread
object was to fetch the object for the given thread. I've validated that for each of these cases, MSVC makes the same inlining decisions it made before this PR.Also, remove the thread-specific RCW active list as that code is never used.