diff options
Diffstat (limited to 'src/gc/gcee.cpp')
-rw-r--r-- | src/gc/gcee.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp index c93cc91b57..889f940973 100644 --- a/src/gc/gcee.cpp +++ b/src/gc/gcee.cpp @@ -381,12 +381,12 @@ size_t GCHeap::GetNow() return GetHighPrecisionTimeStamp(); } -BOOL GCHeap::IsGCInProgressHelper (BOOL bConsiderGCStart) +bool GCHeap::IsGCInProgressHelper (bool bConsiderGCStart) { return GcInProgress || (bConsiderGCStart? VolatileLoad(&gc_heap::gc_started) : FALSE); } -uint32_t GCHeap::WaitUntilGCComplete(BOOL bConsiderGCStart) +uint32_t GCHeap::WaitUntilGCComplete(bool bConsiderGCStart) { if (bConsiderGCStart) { @@ -408,12 +408,8 @@ BlockAgain: dwWaitResult = WaitForGCEvent->Wait(DETECT_DEADLOCK_TIMEOUT, FALSE ); if (dwWaitResult == WAIT_TIMEOUT) { - // Even in retail, stop in the debugger if available. Ideally, the - // following would use DebugBreak, but debspew.h makes this a null - // macro in retail. Note that in debug, we don't use the debspew.h - // macros because these take a critical section that may have been - // taken by a suspended thread. - FreeBuildDebugBreak(); + // Even in retail, stop in the debugger if available. + GCToOSInterface::DebugBreak(); goto BlockAgain; } @@ -427,7 +423,7 @@ BlockAgain: return dwWaitResult; } -void GCHeap::SetGCInProgress(BOOL fInProgress) +void GCHeap::SetGCInProgress(bool fInProgress) { GcInProgress = fInProgress; } @@ -445,12 +441,12 @@ void GCHeap::WaitUntilConcurrentGCComplete() #endif //BACKGROUND_GC } -BOOL GCHeap::IsConcurrentGCInProgress() +bool GCHeap::IsConcurrentGCInProgress() { #ifdef BACKGROUND_GC - return pGenGCHeap->settings.concurrent; + return !!pGenGCHeap->settings.concurrent; #else - return FALSE; + return false; #endif //BACKGROUND_GC } @@ -681,6 +677,11 @@ void GCHeap::UnregisterFrozenSegment(segment_handle seg) #endif // FEATURE_BASICFREEZE } +bool GCHeap::RuntimeStructuresValid() +{ + return GCScan::GetGcRuntimeStructuresValid(); +} + #endif // !DACCESS_COMPILE |