Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index a57a46d85edd6c351bc66be96d192271b6be3578..f32e88d1bde4d305340bc9b61a4b2917980dfaa3 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" |
@@ -831,6 +832,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) { |
@@ -1613,6 +1618,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. |
@@ -1773,10 +1782,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_; |
@@ -2251,7 +2256,6 @@ class Heap { |
bool HasLowYoungGenerationAllocationRate(); |
bool HasLowOldGenerationAllocationRate(); |
- bool HasLowAllocationRate(); |
void ReduceNewSpaceSize(); |
@@ -2318,6 +2322,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_; |