Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Unified Diff: src/heap/heap.cc

Issue 1288913003: [heap] Hide MemoryReducer inside the heap component. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_cleanup-heap-gc-tracer
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/heap.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/heap.cc
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index 92324c1bbda02c0f90bb4b0b5a1a7bc4e7e041c8..03b6c14c3e728a10fa181142eece058c3213e621 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -120,7 +120,7 @@ Heap::Heap()
mark_compact_collector_(this),
store_buffer_(this),
incremental_marking_(this),
- memory_reducer_(this),
+ memory_reducer_(nullptr),
full_codegen_bytes_generated_(0),
crankshaft_codegen_bytes_generated_(0),
new_space_allocation_counter_(0),
@@ -939,7 +939,7 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason,
HasHighFragmentation(used_memory_after, committed_memory_after) ||
(detached_contexts()->length() > 0);
if (deserialization_complete_) {
- memory_reducer_.NotifyMarkCompact(event);
+ memory_reducer_->NotifyMarkCompact(event);
}
}
@@ -978,7 +978,7 @@ int Heap::NotifyContextDisposed(bool dependant_context) {
MemoryReducer::Event event;
event.type = MemoryReducer::kContextDisposed;
event.time_ms = MonotonicallyIncreasingTimeInMs();
- memory_reducer_.NotifyContextDisposed(event);
+ memory_reducer_->NotifyContextDisposed(event);
return ++contexts_disposed_;
}
@@ -4968,7 +4968,7 @@ void Heap::CheckAndNotifyBackgroundIdleNotification(double idle_time_in_ms,
event.time_ms = now_ms;
event.can_start_incremental_gc = incremental_marking()->IsStopped() &&
incremental_marking()->CanBeActivated();
- memory_reducer_.NotifyBackgroundIdleNotification(event);
+ memory_reducer_->NotifyBackgroundIdleNotification(event);
optimize_for_memory_usage_ = true;
} else {
optimize_for_memory_usage_ = false;
@@ -5661,7 +5661,7 @@ void Heap::SetOldGenerationAllocationLimit(intptr_t old_gen_size,
factor = Min(factor, kMaxHeapGrowingFactorMemoryConstrained);
}
- if (memory_reducer_.ShouldGrowHeapSlowly() || optimize_for_memory_usage_) {
+ if (memory_reducer_->ShouldGrowHeapSlowly() || optimize_for_memory_usage_) {
factor = Min(factor, kConservativeHeapGrowingFactor);
}
@@ -5809,6 +5809,8 @@ bool Heap::SetUp() {
tracer_ = new GCTracer(this);
+ memory_reducer_ = new MemoryReducer(this);
+
LOG(isolate_, IntPtrTEvent("heap-capacity", Capacity()));
LOG(isolate_, IntPtrTEvent("heap-available", Available()));
@@ -5907,7 +5909,11 @@ void Heap::TearDown() {
PrintAlloctionsHash();
}
- memory_reducer_.TearDown();
+ if (memory_reducer_ != nullptr) {
+ memory_reducer_->TearDown();
+ delete memory_reducer_;
+ memory_reducer_ = nullptr;
+ }
TearDownArrayBuffers();
« no previous file with comments | « src/heap/heap.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698