diff options
Diffstat (limited to 'src/gc/handletablecore.cpp')
-rw-r--r-- | src/gc/handletablecore.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gc/handletablecore.cpp b/src/gc/handletablecore.cpp index 5e077de8a2..5776c26ace 100644 --- a/src/gc/handletablecore.cpp +++ b/src/gc/handletablecore.cpp @@ -14,6 +14,7 @@ #include "common.h" #include "gcenv.h" +#include "gc.h" #ifndef FEATURE_REDHAWK #include "nativeoverlapped.h" @@ -610,7 +611,7 @@ TableSegment *SegmentAlloc(HandleTable *pTable) _ASSERTE(HANDLE_SEGMENT_ALIGNMENT >= HANDLE_SEGMENT_SIZE); _ASSERTE(HANDLE_SEGMENT_ALIGNMENT == 0x10000); - pSegment = (TableSegment *)GCToOSInterface::VirtualReserve(NULL, HANDLE_SEGMENT_SIZE, HANDLE_SEGMENT_ALIGNMENT, VirtualReserveFlags::None); + pSegment = (TableSegment *)GCToOSInterface::VirtualReserve(HANDLE_SEGMENT_SIZE, HANDLE_SEGMENT_ALIGNMENT, VirtualReserveFlags::None); _ASSERTE(((size_t)pSegment % HANDLE_SEGMENT_ALIGNMENT) == 0); // bail out if we couldn't get any memory @@ -1111,13 +1112,13 @@ SLOW_PATH: // we have the lock held but the part we care about (the async table scan) takes the table lock during // a preparation step so we'll be able to complete our segment moves before the async scan has a // chance to interfere with us (or vice versa). - if (GCHeap::GetGCHeap()->IsConcurrentGCInProgress()) + if (g_theGCHeap->IsConcurrentGCInProgress()) { // A concurrent GC is in progress so someone might be scanning our segments asynchronously. // Release the lock, wait for the GC to complete and try again. The order is important; if we wait // before releasing the table lock we can deadlock with an async table scan. ch.Release(); - GCHeap::GetGCHeap()->WaitUntilConcurrentGCComplete(); + g_theGCHeap->WaitUntilConcurrentGCComplete(); continue; } |