• V
    Fixes invalid codegen in a case if a readonly field is spilled on the LHS of && or ?? · 797c91c3
    vsadov 提交于
    Stack spiller tried to save a temp and reuses spilled LHS to store the results of the whole expression.
    However, the LHS is not always spilled into a temp. Readonly fields, for example, stay as they are.
    
    As a result the optimization leads to modification of the readonly field which is not even verifiable.,
    
    The change simply introduces a temp, which, if happens to be temp copy of a temp and thus unnecessary, is elided by the stack optimizer who is in a better position to reason about redundancy of locals.
    
    Fixes #4628
    797c91c3
AwaitExpressionSpiller.cs 45.8 KB