Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index d4fbbc70b284ea2837822fa7669ae483c5002bdf..01e84f8315efcfd67f676e075fc45c60a42c41e8 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -1060,9 +1060,9 @@ int Heap::NotifyContextDisposed(bool dependant_context) { |
tracer()->ResetSurvivalEvents(); |
old_generation_size_configured_ = false; |
MemoryReducer::Event event; |
- event.type = MemoryReducer::kContextDisposed; |
+ event.type = MemoryReducer::kPossibleGarbage; |
event.time_ms = MonotonicallyIncreasingTimeInMs(); |
- memory_reducer_->NotifyContextDisposed(event); |
+ memory_reducer_->NotifyPossibleGarbage(event); |
} |
if (isolate()->concurrent_recompilation_enabled()) { |
// Flush the queued recompilation tasks. |
@@ -4112,6 +4112,17 @@ bool Heap::HasHighFragmentation(intptr_t used, intptr_t committed) { |
return committed - used > used + kSlack; |
} |
+void Heap::SetOptimizeForMemoryUsage() { |
+ // 2 pages for each old generation space + 1 page for new space. |
jochen (gone - plz use gerrit)
2016/02/22 09:40:09
that's lo_space and old_space and?
ulan
2016/02/22 10:05:32
Expanded the comment. It is old, code, and map spa
|
+ const int kMinCommittedMemory = 7 * Page::kPageSize; |
+ if (ms_count_ == 0 && CommittedMemory() > kMinCommittedMemory) { |
jochen (gone - plz use gerrit)
2016/02/22 09:40:09
I guess this method is invoked every time a tab go
ulan
2016/02/22 10:05:32
yes
|
+ MemoryReducer::Event event; |
+ event.type = MemoryReducer::kPossibleGarbage; |
+ event.time_ms = MonotonicallyIncreasingTimeInMs(); |
+ memory_reducer_->NotifyPossibleGarbage(event); |
+ } |
+ optimize_for_memory_usage_ = true; |
+} |
void Heap::ReduceNewSpaceSize() { |
// TODO(ulan): Unify this constant with the similar constant in |