Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index 84eb6517c6a57599e68c328f74e55aaf74f3636d..8d2eb9f6f6f2495de33ea25adf3dc679516bd960 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(V8GCType gcType) |
{ |
ASSERT(checkThread()); |
Heap::reportMemoryUsageForTracing(); |
@@ -684,6 +684,8 @@ void ThreadState::scheduleV8FollowupGCIfNeeded() |
if (shouldScheduleV8FollowupGC()) |
schedulePreciseGC(); |
+ else if (gcType == V8MinorGC) |
+ scheduleIdleGC(); |
} |
void ThreadState::schedulePageNavigationGCIfNeeded(float estimatedRemovalRatio) |