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
JIT: Preparatory refactoring to support multiple defs per single node (#117662)
Replace `GenTree::DefinesLocal` by a `GenTree::VisitLocalDefs` to prepare for
being able to allow a single node to have multiple definitions. Update uses to
use the new function.
This will be used to allow async calls to define a new value that represents
whether the call suspended or not. This is necessary because runtime async calls
should save and restore `Thread.CurrentThread._synchronizationContext`, but the
restore should only happen when the call finishes synchronously (with an
exception or not). We need a proper representation in the JIT IR of these
conditions to properly be able to model these conditions in the face of
inlining.
In a future change the expectation is to add a `LCL_ADDR` node as a new
well-known argument to async calls that will be a definition that works similar
to ret buffers. The async transformation will later expand the definition out in
the resumption path.
0 commit comments