| Index: Source/platform/heap/Heap.h
|
| diff --git a/Source/platform/heap/Heap.h b/Source/platform/heap/Heap.h
|
| index 903c0760dc81073a12d3d9704c4efbb378fb764f..3597c0018a1e567c92e767cc0f5ca68f041df314 100644
|
| --- a/Source/platform/heap/Heap.h
|
| +++ b/Source/platform/heap/Heap.h
|
| @@ -919,7 +919,8 @@ public:
|
| static void globalWeakProcessing();
|
| static void setForcePreciseGCForTesting();
|
|
|
| - static void prepareForGC();
|
| + static void preGC();
|
| + static void postGC();
|
|
|
| // Conservatively checks whether an address is a pointer in any of the thread
|
| // heaps. If so marks the object pointed to as live.
|
| @@ -945,6 +946,10 @@ public:
|
| // during conservative scanning.
|
| static bool lastGCWasConservative() { return s_lastGCWasConservative; }
|
|
|
| + static void enterGC() { ASSERT(!s_inGC); s_inGC = true; }
|
| + static void leaveGC() { ASSERT(s_inGC); s_inGC = false; }
|
| + static bool isInGC() { return s_inGC; }
|
| +
|
| static FreePagePool* freePagePool() { return s_freePagePool; }
|
| static OrphanedPagePool* orphanedPagePool() { return s_orphanedPagePool; }
|
|
|
| @@ -984,8 +989,8 @@ private:
|
| RegionTree* m_right;
|
| };
|
|
|
| - static void resetAllocatedObjectSize() { ASSERT(ThreadState::isAnyThreadInGC()); s_allocatedObjectSize = 0; }
|
| - static void resetMarkedObjectSize() { ASSERT(ThreadState::isAnyThreadInGC()); s_markedObjectSize = 0; }
|
| + static void resetAllocatedObjectSize() { ASSERT(Heap::isInGC()); s_allocatedObjectSize = 0; }
|
| + static void resetMarkedObjectSize() { ASSERT(Heap::isInGC()); s_markedObjectSize = 0; }
|
|
|
| static Visitor* s_markingVisitor;
|
| static CallbackStack* s_markingStack;
|
| @@ -995,6 +1000,7 @@ private:
|
| static HeapDoesNotContainCache* s_heapDoesNotContainCache;
|
| static bool s_shutdownCalled;
|
| static bool s_lastGCWasConservative;
|
| + static bool s_inGC;
|
| static FreePagePool* s_freePagePool;
|
| static OrphanedPagePool* s_orphanedPagePool;
|
| static RegionTree* s_regionTree;
|
|
|