| 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; | 
|  |