Chromium Code Reviews| 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 |