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
Save and restore Thread.CurrentThread._synchronizationContext for synchronous runtime async calls (#117725)
This implements the remaining handling: saving and restoring
`Thread.CurrentThread._synchronizationContext` around runtime async calls that
finish synchronously. Lots of trickiness in representing this in the JIT. We
introduce a new "suspended indicator" local that is defined by async calls and
that the front end uses when it expands IR that restores the field.
Plenty of optimization opportunities remaining, including a simple jump
threading optimization we should be able to do to make the suspension indicator
variable disappear in common cases (all cases except when resuming with an
exception).
0 commit comments