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