Index: Source/platform/heap/ThreadState.h |
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h |
index 0c015aeee37db03a46d4f7c03e250cddb3e39ba8..d693c92dfdcb0b59c2e661c4a587a2b0bccac9b3 100644 |
--- a/Source/platform/heap/ThreadState.h |
+++ b/Source/platform/heap/ThreadState.h |
@@ -185,6 +185,7 @@ public: |
IdleGCScheduled, |
PreciseGCScheduled, |
FullGCScheduled, |
+ PageNavigationGCScheduled, |
GCRunning, |
EagerSweepScheduled, |
LazySweepScheduled, |
@@ -329,6 +330,8 @@ public: |
void scheduleIdleGC(); |
void scheduleIdleLazySweep(); |
void schedulePreciseGC(); |
+ void schedulePageNavigationGCIfNeeded(float estimatedRemovalRatio); |
+ void schedulePageNavigationGC(); |
void scheduleGCIfNeeded(); |
void setGCState(GCState); |
GCState gcState() const; |
@@ -678,6 +681,9 @@ private: |
bool shouldScheduleIdleGC(); |
bool shouldSchedulePreciseGC(); |
bool shouldForceConservativeGC(); |
+ // estimatedRemovalRatio is the estimated ratio of objects that will be no |
+ // longer necessary due to the navigation. |
+ bool shouldSchedulePageNavigationGC(float estimatedRemovalRatio); |
// Internal helper for GC policy handling code. Returns true if |
// an urgent conservative GC is now needed due to memory pressure. |