Fix HasPendingGCStressInstructionUpdate CONSISTENCY_CHECK
authorSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>
Thu, 31 May 2018 16:50:12 +0000 (12:50 -0400)
committerSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>
Thu, 31 May 2018 17:08:53 +0000 (13:08 -0400)
src/vm/threads.h

index 7693783..5cafc61 100644 (file)
@@ -4830,8 +4830,9 @@ public:
     bool HasPendingGCStressInstructionUpdate()
     {
         LIMITED_METHOD_CONTRACT;
-        CONSISTENCY_CHECK((NULL == m_pbDestCode) == (NULL == m_pbSrcCode));
-        return m_pbDestCode != NULL;
+        BYTE* dest = VolatileLoad(&m_pbDestCode);
+        CONSISTENCY_CHECK((NULL == dest) || (NULL != VolatileLoadWithoutBarrier(&m_pbSrcCode)));
+        return dest != NULL;
     }
     void ClearGCStressInstructionUpdate()
     {