Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index c4a1baa6d38acac0a66323c79da10afb8134ca92..26df0f7275357ace876a8c59ea8c013ce53fd970 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -814,7 +814,10 @@ void Heap::FinalizeIncrementalMarking(GarbageCollectionReason gc_reason) { |
TRACE_GC(tracer(), GCTracer::Scope::MC_INCREMENTAL_EXTERNAL_PROLOGUE); |
VMState<EXTERNAL> state(isolate_); |
HandleScope handle_scope(isolate_); |
- CallGCPrologueCallbacks(kGCTypeIncrementalMarking, kNoGCCallbackFlags); |
+ CallGCPrologueCallbacks(kGCTypeIncrementalMarking, |
+ FLAG_object_grouping_in_incremental_finalization |
+ ? kNoGCCallbackFlags |
+ : kGCCallbackFlagDisableObjectGrouping); |
} |
} |
incremental_marking()->FinalizeIncrementally(); |
@@ -5411,16 +5414,6 @@ bool Heap::ShouldOptimizeForLoadTime() { |
// - or the incremental marking is not in progress and we cannot start it. |
bool Heap::ShouldExpandOldGenerationOnSlowAllocation() { |
if (always_allocate() || OldGenerationSpaceAvailable() > 0) return true; |
- // We reached the old generation allocation limit. |
ulan
2017/03/30 16:24:30
This changes reduce noise in scheduling mark-compa
|
- |
- if (ShouldOptimizeForMemoryUsage()) return false; |
- |
- if (ShouldOptimizeForLoadTime()) return true; |
- |
- if (incremental_marking()->NeedsFinalization()) { |
- return !AllocationLimitOvershotByLargeMargin(); |
- } |
- |
if (incremental_marking()->IsStopped() && |
IncrementalMarkingLimitReached() == IncrementalMarkingLimit::kNoLimit) { |
// We cannot start incremental marking. |
@@ -5451,12 +5444,6 @@ Heap::IncrementalMarkingLimit Heap::IncrementalMarkingLimitReached() { |
if (old_generation_space_available > new_space_->Capacity()) { |
return IncrementalMarkingLimit::kNoLimit; |
} |
- if (ShouldOptimizeForMemoryUsage()) { |
ulan
2017/03/30 16:24:30
This changes reduce noise in scheduling mark-compa
|
- return IncrementalMarkingLimit::kHardLimit; |
- } |
- if (ShouldOptimizeForLoadTime()) { |
- return IncrementalMarkingLimit::kNoLimit; |
- } |
if (old_generation_space_available == 0) { |
return IncrementalMarkingLimit::kHardLimit; |
} |