You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
JIT: Double check lvHasExplicitInit when resuming runtime async functions #126750
Explicit init is computed during SSA which is before runtime async runs. We may forego zeroing that ends up being necessary if GC happens during runtime async resumption.
We introduce TLS access as part of the IR inserted to save contexts, and that means there will always be a GC safe point between the entry and the user's code. So I don't think there is a problem here in practice.
I still think an explicit check is warranted in optRemoveRedundantZeroInits, but it can be done in .NET 12.
Activity
dotnet-policy-service commentedon Apr 10, 2026
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.
jakobbotsch commentedon Aug 14, 2026
We introduce TLS access as part of the IR inserted to save contexts, and that means there will always be a GC safe point between the entry and the user's code. So I don't think there is a problem here in practice.
I still think an explicit check is warranted in
optRemoveRedundantZeroInits, but it can be done in .NET 12.jakobbotsch commentedon Aug 14, 2026
Nope, I was able to produce an example repro that reports a garbage reference to the runtime using async versions. Moving it back...