Fix issue 2295.
authorLubomir Litchev <lubol@microsoft.com>
Sun, 10 Jan 2016 23:11:09 +0000 (15:11 -0800)
committerLubomir Litchev <lubol@microsoft.com>
Tue, 12 Jan 2016 23:38:47 +0000 (15:38 -0800)
Closes #2295. When creating shadow variables, copy the lvDontPromote flag
from the shadowed variable.

src/jit/gschecks.cpp

index 9f85b55..915273f 100644 (file)
@@ -474,6 +474,9 @@ void Compiler::gsParamsToShadows()
             dst = gtNewOperNode(GT_ADDR, TYP_BYREF, dst);
 
             opAssign = gtNewCpObjNode(dst, src, clsHnd, false);
+#if FEATURE_MULTIREG_STRUCTS
+            lvaTable[shadowVar].lvDontPromote = lvaTable[lclNum].lvDontPromote;
+#endif // FEATURE_MULTIREG_STRUCTS
         }
         else
         {