Fix build errors when TRACK_SYNC is defined (#13122)
authorJonghyun Park <parjong@gmail.com>
Tue, 1 Aug 2017 20:33:50 +0000 (05:33 +0900)
committerBruce Forstall <brucefo@microsoft.com>
Tue, 1 Aug 2017 20:33:50 +0000 (13:33 -0700)
* Fix build errors when TRACK_SYNC is defined

* Remove unnecessary default constructor

src/vm/syncblk.inl
src/vm/threads.cpp
src/vm/threads.h

index 37d6748..cb6b280 100644 (file)
@@ -178,7 +178,7 @@ FORCEINLINE AwareLock::LeaveHelperAction AwareLock::LeaveHelper(Thread* pCurThre
     _ASSERTE((size_t)m_MonitorHeld & 1);
     _ASSERTE(m_Recursion >= 1);
 
-#if defined(_DEBUG) && defined(TRACK_SYNC)
+#if defined(_DEBUG) && defined(TRACK_SYNC) && !defined(CROSSGEN_COMPILE)
     // The best place to grab this is from the ECall frame
     Frame   *pFrame = pCurThread->GetFrame();
     int      caller = (pFrame && pFrame != FRAME_TOP ? (int) pFrame->GetReturnAddress() : -1);
index 59fec2b..afb770e 100644 (file)
@@ -1582,7 +1582,7 @@ void Dbg_TrackSyncStack::EnterSync(UINT_PTR caller, void *pAwareLock)
     STRESS_LOG4(LF_SYNC, LL_INFO100, "Dbg_TrackSyncStack::EnterSync, IP=%p, Recursion=%d, MonitorHeld=%d, HoldingThread=%p.\n",
                     caller,
                     ((AwareLock*)pAwareLock)->m_Recursion,
-                    ((AwareLock*)pAwareLock)->m_MonitorHeld,
+                    ((AwareLock*)pAwareLock)->m_MonitorHeld.LoadWithoutBarrier(),
                     ((AwareLock*)pAwareLock)->m_HoldingThread );
 
     if (m_Active)
@@ -1608,7 +1608,7 @@ void Dbg_TrackSyncStack::LeaveSync(UINT_PTR caller, void *pAwareLock)
     STRESS_LOG4(LF_SYNC, LL_INFO100, "Dbg_TrackSyncStack::LeaveSync, IP=%p, Recursion=%d, MonitorHeld=%d, HoldingThread=%p.\n",
                     caller,
                     ((AwareLock*)pAwareLock)->m_Recursion,
-                    ((AwareLock*)pAwareLock)->m_MonitorHeld,
+                    ((AwareLock*)pAwareLock)->m_MonitorHeld.LoadWithoutBarrier(),
                     ((AwareLock*)pAwareLock)->m_HoldingThread );
 
     if (m_Active)
index 93e3915..eff7fb6 100644 (file)
@@ -515,6 +515,8 @@ typedef Thread::ForbidSuspendThreadHolder ForbidSuspendThreadHolder;
 // Each thread has a stack that tracks all enter and leave requests
 struct Dbg_TrackSync
 {
+    virtual ~Dbg_TrackSync() = default;
+
     virtual void EnterSync    (UINT_PTR caller, void *pAwareLock) = 0;
     virtual void LeaveSync    (UINT_PTR caller, void *pAwareLock) = 0;
 };