Index: src/heap/incremental-marking.cc |
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
index e082a24441b518be37cab47ab4f7bf34e8d427fa..47595a8905fa576edc514f812574e78341dee143 100644 |
--- a/src/heap/incremental-marking.cc |
+++ b/src/heap/incremental-marking.cc |
@@ -443,7 +443,16 @@ void IncrementalMarking::ActivateIncrementalWriteBarrier() { |
bool IncrementalMarking::ShouldActivateEvenWithoutIdleNotification() { |
+#ifndef DEBUG |
+ static const intptr_t kActivationThreshold = 8 * MB; |
+#else |
+ // TODO(gc) consider setting this to some low level so that some |
+ // debug tests run with incremental marking and some without. |
+ static const intptr_t kActivationThreshold = 0; |
+#endif |
+ // Don't switch on for very small heaps. |
return CanBeActivated() && |
+ heap_->PromotedSpaceSizeOfObjects() > kActivationThreshold && |
heap_->HeapIsFullEnoughToStartIncrementalMarking( |
heap_->old_generation_allocation_limit()); |
} |
@@ -453,21 +462,12 @@ bool IncrementalMarking::WasActivated() { return was_activated_; } |
bool IncrementalMarking::CanBeActivated() { |
-#ifndef DEBUG |
- static const intptr_t kActivationThreshold = 8 * MB; |
-#else |
- // TODO(gc) consider setting this to some low level so that some |
- // debug tests run with incremental marking and some without. |
- static const intptr_t kActivationThreshold = 0; |
-#endif |
// Only start incremental marking in a safe state: 1) when incremental |
// marking is turned on, 2) when we are currently not in a GC, and |
// 3) when we are currently not serializing or deserializing the heap. |
- // Don't switch on for very small heaps. |
return FLAG_incremental_marking && heap_->gc_state() == Heap::NOT_IN_GC && |
heap_->deserialization_complete() && |
- !heap_->isolate()->serializer_enabled() && |
- heap_->PromotedSpaceSizeOfObjects() > kActivationThreshold; |
+ !heap_->isolate()->serializer_enabled(); |
} |