Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index 84eb6517c6a57599e68c328f74e55aaf74f3636d..c2ce561e339879cfa0e779c237e861baf9262da1 100644 |
--- a/Source/platform/heap/ThreadState.cpp |
+++ b/Source/platform/heap/ThreadState.cpp |
@@ -670,7 +670,7 @@ bool ThreadState::shouldForceConservativeGC() |
return judgeGCThreshold(32 * 1024 * 1024, 5.0); |
} |
-void ThreadState::scheduleV8FollowupGCIfNeeded() |
+void ThreadState::scheduleV8FollowupGCIfNeeded(bool shouldScheduleIdleGC) |
{ |
ASSERT(checkThread()); |
Heap::reportMemoryUsageForTracing(); |
@@ -684,6 +684,8 @@ void ThreadState::scheduleV8FollowupGCIfNeeded() |
if (shouldScheduleV8FollowupGC()) |
schedulePreciseGC(); |
+ else if (shouldScheduleIdleGC) |
+ scheduleIdleGC(); |
} |
void ThreadState::schedulePageNavigationGCIfNeeded(float estimatedRemovalRatio) |