Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index be280a0a7a3bc0af8d3ea44482beb0831fa4ec7b..2db6923d684720c491939d3589bb5519d130a5ba 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -16,6 +16,7 @@ |
#include "src/heap/gc-tracer.h" |
#include "src/heap/incremental-marking.h" |
#include "src/heap/mark-compact.h" |
+#include "src/heap/memory-reducer.h" |
#include "src/heap/objects-visiting.h" |
#include "src/heap/spaces.h" |
#include "src/heap/store-buffer.h" |
@@ -832,6 +833,10 @@ class Heap { |
// Notify the heap that a context has been disposed. |
int NotifyContextDisposed(bool dependant_context); |
+ // Start incremental marking and ensure that idle time handler can perform |
+ // incremental steps. |
+ void StartIdleIncrementalMarking(); |
+ |
inline void increment_scan_on_scavenge_pages() { |
scan_on_scavenge_pages_++; |
if (FLAG_gc_verbose) { |
@@ -1618,6 +1623,10 @@ class Heap { |
// An ArrayBuffer moved from new space to old space. |
void PromoteArrayBuffer(Object* buffer); |
+ bool HasLowAllocationRate(); |
+ bool HasHighFragmentation(); |
+ bool HasHighFragmentation(intptr_t used, intptr_t committed); |
+ |
protected: |
// Methods made available to tests. |
@@ -1778,10 +1787,6 @@ class Heap { |
// generation and on every allocation in large object space. |
intptr_t old_generation_allocation_limit_; |
- // The allocation limit when there is >16.66ms idle time in the idle time |
- // handler. |
- intptr_t idle_old_generation_allocation_limit_; |
- |
// Indicates that an allocation has failed in the old generation since the |
// last GC. |
bool old_gen_exhausted_; |
@@ -2258,7 +2263,6 @@ class Heap { |
bool HasLowYoungGenerationAllocationRate(); |
bool HasLowOldGenerationAllocationRate(); |
- bool HasLowAllocationRate(); |
void ReduceNewSpaceSize(); |
@@ -2325,6 +2329,8 @@ class Heap { |
GCIdleTimeHandler gc_idle_time_handler_; |
+ MemoryReducer memory_reducer_; |
+ |
// These two counters are monotomically increasing and never reset. |
size_t full_codegen_bytes_generated_; |
size_t crankshaft_codegen_bytes_generated_; |