Skip to content

Take SuppressGCTransition into account in IL stub caching - #47320

Merged
elinor-fung merged 6 commits into
dotnet:masterfrom
elinor-fung:stubCache-suppressGCTransition
Jan 27, 2021
Merged

Take SuppressGCTransition into account in IL stub caching#47320
elinor-fung merged 6 commits into
dotnet:masterfrom
elinor-fung:stubCache-suppressGCTransition

Conversation

@elinor-fung

@elinor-fung elinor-fung commented Jan 22, 2021

Copy link
Copy Markdown
Member

Use the updated stub flags that have SuppressGCTransition taken into account when creating the hash blob used for caching IL stubs.

Fix #46184

cc @AaronRobinsonMSFT @jkoritzinsky

Comment thread src/coreclr/vm/ilstubcache.cpp Outdated
Comment thread src/coreclr/vm/ilstubcache.cpp Outdated
Comment thread src/coreclr/vm/ilstubcache.cpp
Comment thread src/coreclr/vm/ilstubcache.h Outdated
Comment thread src/coreclr/vm/ilstubcache.cpp Outdated
@elinor-fung
elinor-fung merged commit 2c4e9e0 into dotnet:master Jan 27, 2021
@elinor-fung
elinor-fung deleted the stubCache-suppressGCTransition branch January 27, 2021 01:35
@elinor-fung

Copy link
Copy Markdown
Member Author

@AaronRobinsonMSFT @jkoritzinsky thoughts on if we should try to take (a version of) this for 5?

@jkoritzinsky

Copy link
Copy Markdown
Member

I think we should. If we don't, users can end up with random GC pauses where one of their IL stubs hit a cache entry that was marked SuppressGCTransition.

@AaronRobinsonMSFT

Copy link
Copy Markdown
Member

@elinor-fung It's not a bad idea given it isn't easy to diagnose. I would like to see as much of the testing as was added here brought down to .NET 5 though.

@ghost ghost locked as resolved and limited conversation to collaborators Feb 26, 2021
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.

UnmanagedCallersOnly fails in Debug mode, with SuppressGCTransition and certain signatures

4 participants