Index: src/incremental-marking.cc |
diff --git a/src/incremental-marking.cc b/src/incremental-marking.cc |
index bd0f0837b0bd5860d91d38fb8c890622db86bb02..987abe4564970cca6d23e070704317d625fc874e 100644 |
--- a/src/incremental-marking.cc |
+++ b/src/incremental-marking.cc |
@@ -744,7 +744,9 @@ void IncrementalMarking::MarkingComplete() { |
if (FLAG_trace_incremental_marking) { |
PrintF("[IncrementalMarking] Complete (normal).\n"); |
} |
- heap_->isolate()->stack_guard()->RequestGC(); |
+ if (!heap_->idle_notification_will_schedule_next_gc()) { |
+ heap_->isolate()->stack_guard()->RequestGC(); |
+ } |
} |
@@ -772,8 +774,7 @@ void IncrementalMarking::Step(intptr_t allocated_bytes) { |
} |
if (state_ == SWEEPING) { |
- if (heap_->old_pointer_space()->AdvanceSweeper(bytes_to_process) && |
- heap_->old_data_space()->AdvanceSweeper(bytes_to_process)) { |
+ if (heap_->AdvanceSweepers(bytes_to_process)) { |
bytes_scanned_ = 0; |
StartMarking(PREVENT_COMPACTION); |
} |