diff options
author | Pat Gavlin <pagavlin@microsoft.com> | 2017-01-04 14:36:17 -0800 |
---|---|---|
committer | Pat Gavlin <pagavlin@microsoft.com> | 2017-01-04 14:36:17 -0800 |
commit | d1a7cef4ecec8f9fadc564a4125b478e3e8ccb9c (patch) | |
tree | 7b206b1afcfd5f19562594c3dd674f0629f48047 /src | |
parent | 4b93ba94828c879356ef9dd3246397cee3431e2e (diff) | |
download | coreclr-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')
-rw-r--r-- | src/jit/decomposelongs.cpp | 2 |
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); } |