Revert "Make sure that memory reducer makes progress in incremental marking"
authormlippautz <mlippautz@chromium.org>
Mon, 24 Aug 2015 13:29:32 +0000 (06:29 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 24 Aug 2015 13:29:39 +0000 (13:29 +0000)
This reverts commit 1345f811bf6a3ab9376cfbed6f08084662b32a4d.

BUG=

Review URL: https://codereview.chromium.org/1303333005

Cr-Commit-Position: refs/heads/master@{#30329}

src/heap/heap.cc
src/heap/heap.h
src/heap/memory-reducer.cc

index 51d2918..9883436 100644 (file)
@@ -4622,19 +4622,6 @@ void Heap::ReduceNewSpaceSize() {
 }
 
 
-void Heap::FinalizeIncrementalMarkingIfComplete(const char* comment) {
-  if (FLAG_overapproximate_weak_closure &&
-      (incremental_marking()->IsReadyToOverApproximateWeakClosure() ||
-       (!incremental_marking()->weak_closure_was_overapproximated() &&
-        mark_compact_collector_.marking_deque()->IsEmpty()))) {
-    OverApproximateWeakClosure(comment);
-  } else if (incremental_marking()->IsComplete() ||
-             (mark_compact_collector_.marking_deque()->IsEmpty())) {
-    CollectAllGarbage(current_gc_flags(), comment);
-  }
-}
-
-
 bool Heap::TryFinalizeIdleIncrementalMarking(
     double idle_time_in_ms, size_t size_of_objects,
     size_t final_incremental_mark_compact_speed_in_bytes_per_ms) {
index f7eca40..f974c07 100644 (file)
@@ -902,8 +902,6 @@ class Heap {
   // Notify the heap that a context has been disposed.
   int NotifyContextDisposed(bool dependant_context);
 
-  void FinalizeIncrementalMarkingIfComplete(const char* comment);
-
   inline void increment_scan_on_scavenge_pages() {
     scan_on_scavenge_pages_++;
     if (FLAG_gc_verbose) {
@@ -1248,8 +1246,6 @@ class Heap {
   bool HasHighFragmentation();
   bool HasHighFragmentation(intptr_t used, intptr_t committed);
 
-  bool ShouldOptimizeForMemoryUsage() { return optimize_for_memory_usage_; }
-
   // ===========================================================================
   // Initialization. ===========================================================
   // ===========================================================================
index f3c1473..4cf8bc2 100644 (file)
@@ -47,35 +47,12 @@ void MemoryReducer::NotifyTimer(const Event& event) {
   if (state_.action == kRun) {
     DCHECK(heap()->incremental_marking()->IsStopped());
     DCHECK(FLAG_incremental_marking);
+    heap()->StartIdleIncrementalMarking();
     if (FLAG_trace_gc_verbose) {
       PrintIsolate(heap()->isolate(), "Memory reducer: started GC #%d\n",
                    state_.started_gcs);
     }
-    if (heap()->ShouldOptimizeForMemoryUsage()) {
-      // Do full GC if memory usage has higher priority than latency. This is
-      // important for background tabs that do not send idle notifications.
-      heap()->CollectAllGarbage(Heap::kReduceMemoryFootprintMask,
-                                "memory reducer");
-    } else {
-      heap()->StartIdleIncrementalMarking();
-    }
   } else if (state_.action == kWait) {
-    if (!heap()->incremental_marking()->IsStopped() &&
-        heap()->ShouldOptimizeForMemoryUsage()) {
-      // Make progress with pending incremental marking if memory usage has
-      // higher priority than latency. This is important for background tabs
-      // that do not send idle notifications.
-      const int kIncrementalMarkingDelayMs = 500;
-      double deadline = heap()->MonotonicallyIncreasingTimeInMs() +
-                        kIncrementalMarkingDelayMs;
-      heap()->AdvanceIncrementalMarking(
-          0, deadline, i::IncrementalMarking::StepActions(
-                           i::IncrementalMarking::NO_GC_VIA_STACK_GUARD,
-                           i::IncrementalMarking::FORCE_MARKING,
-                           i::IncrementalMarking::FORCE_COMPLETION));
-      heap()->FinalizeIncrementalMarkingIfComplete(
-          "Memory reducer: finalize incremental marking");
-    }
     // Re-schedule the timer.
     ScheduleTimer(state_.next_gc_start_ms - event.time_ms);
     if (FLAG_trace_gc_verbose) {