summaryrefslogtreecommitdiff
path: root/src/jit
diff options
context:
space:
mode:
authorPat Gavlin <pagavlin@microsoft.com>2017-01-04 14:36:17 -0800
committerPat Gavlin <pagavlin@microsoft.com>2017-01-04 14:36:17 -0800
commitd1a7cef4ecec8f9fadc564a4125b478e3e8ccb9c (patch)
tree7b206b1afcfd5f19562594c3dd674f0629f48047 /src/jit
parent4b93ba94828c879356ef9dd3246397cee3431e2e (diff)
downloadcoreclr-d1a7cef4ecec8f9fadc564a4125b478e3e8ccb9c.tar.gz
coreclr-d1a7cef4ecec8f9fadc564a4125b478e3e8ccb9c.tar.bz2
coreclr-d1a7cef4ecec8f9fadc564a4125b478e3e8ccb9c.zip
Add a missing ref count bump in DecomposeLclFld.
DecomposeLclFld transforms a single lclFld node into two lclFld nodes that reference the same lclVar, but was missing a corresponding ref count bump. This was causing a failure in JIT/Methodical/fp/exgen/10w5d_cs_do under JITStress=1 and JITStress=2.
Diffstat (limited to 'src/jit')
-rw-r--r--src/jit/decomposelongs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/jit/decomposelongs.cpp b/src/jit/decomposelongs.cpp
index 98b8b081fc..2716631abc 100644
--- a/src/jit/decomposelongs.cpp
+++ b/src/jit/decomposelongs.cpp
@@ -411,6 +411,8 @@ GenTree* DecomposeLongs::DecomposeLclFld(LIR::Use& use)
GenTree* hiResult = m_compiler->gtNewLclFldNode(loResult->gtLclNum, TYP_INT, loResult->gtLclOffs + 4);
Range().InsertAfter(loResult, hiResult);
+ m_compiler->lvaIncRefCnts(hiResult);
+
return FinalizeDecomposition(use, loResult, hiResult, hiResult);
}