-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
GCCoverageInfo support 32-bit Tiered compilation #37116
GCCoverageInfo support 32-bit Tiered compilation #37116
Conversation
Update the GC coverage info code path to respect Tiered compilation on a 32-bit platform.
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.
LGTM, thanks!
Seems a little odd to me that native code versions aren't tied in more closely to the jit manager and so can be obtained from a code address with less ceremony. @AaronRobinsonMSFT have you checked that this fixes the test case? |
@AndyAyersMS Yep. I locally validated this fixes the issue reported in #36366. I also ran through several other GC stress scenarios in other tests. |
@AndyAyersMS I agree. I wish I knew the history behind this design. It makes bugs like this feel even more like the tip of the iceberg rather than one offs. Does my change here align with your approach? |
Yes, it's the same approach that I started working up. I hit the lock level assert and didn't go further. |
Yea maybe the native code version could be stored instead of the method desc or something like that. Not sure about fragile ngen images and its jit manager, maybe it had something to do with that, or the size since it's a bit larger. Would be nice to be able to get the code version without a lock. |
Update the GC coverage info code path to respect Tiered compilation on a 32-bit platform.
Fixes #36366
/cc @AndyAyersMS @kouvel