| Index: Source/platform/heap/ThreadState.cpp
|
| diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp
|
| index a6f33018f482969fc7ba57ef9a9f26bd31ccec49..cd9b8ece825968d398643ef089d43ba0138c1954 100644
|
| --- a/Source/platform/heap/ThreadState.cpp
|
| +++ b/Source/platform/heap/ThreadState.cpp
|
| @@ -676,6 +676,8 @@ bool ThreadState::shouldForceConservativeGC()
|
| void ThreadState::scheduleV8FollowupGCIfNeeded()
|
| {
|
| ASSERT(checkThread());
|
| + Heap::reportMemoryUsageForTracing();
|
| +
|
| if (isGCForbidden())
|
| return;
|
|
|
| @@ -683,7 +685,6 @@ void ThreadState::scheduleV8FollowupGCIfNeeded()
|
| return;
|
| ASSERT(!sweepForbidden());
|
|
|
| - Heap::reportMemoryUsageForTracing();
|
| if (shouldScheduleV8FollowupGC())
|
| schedulePreciseGC();
|
| }
|
| @@ -691,6 +692,8 @@ void ThreadState::scheduleV8FollowupGCIfNeeded()
|
| void ThreadState::schedulePageNavigationGCIfNeeded(float estimatedRemovalRatio)
|
| {
|
| ASSERT(checkThread());
|
| + Heap::reportMemoryUsageForTracing();
|
| +
|
| if (isGCForbidden())
|
| return;
|
|
|
| @@ -701,7 +704,6 @@ void ThreadState::schedulePageNavigationGCIfNeeded(float estimatedRemovalRatio)
|
| ASSERT(!isSweepingInProgress());
|
| ASSERT(!sweepForbidden());
|
|
|
| - Heap::reportMemoryUsageForTracing();
|
| if (shouldSchedulePageNavigationGC(estimatedRemovalRatio))
|
| schedulePageNavigationGC();
|
| }
|
| @@ -716,6 +718,8 @@ void ThreadState::schedulePageNavigationGC()
|
| void ThreadState::scheduleGCIfNeeded()
|
| {
|
| ASSERT(checkThread());
|
| + Heap::reportMemoryUsageForTracing();
|
| +
|
| if (isGCForbidden())
|
| return;
|
|
|
| @@ -725,8 +729,6 @@ void ThreadState::scheduleGCIfNeeded()
|
| return;
|
| ASSERT(!sweepForbidden());
|
|
|
| - Heap::reportMemoryUsageForTracing();
|
| -
|
| if (shouldForceMemoryPressureGC()) {
|
| Heap::collectGarbage(HeapPointersOnStack, GCWithoutSweep, Heap::ConservativeGC);
|
| return;
|
| @@ -1230,6 +1232,8 @@ void ThreadState::resumeThreads()
|
| void ThreadState::safePoint(StackState stackState)
|
| {
|
| ASSERT(checkThread());
|
| + Heap::reportMemoryUsageForTracing();
|
| +
|
| runScheduledGC(stackState);
|
| ASSERT(!m_atSafePoint);
|
| m_stackState = stackState;
|
|
|