Chromium Code Reviews| Index: src/heap/heap.cc |
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
| index 8706113ae981bd25cd3302a94792143d30f4eed2..4964335707be9cffd02a7c504a1dd65804c8d97a 100644 |
| --- a/src/heap/heap.cc |
| +++ b/src/heap/heap.cc |
| @@ -3202,8 +3202,8 @@ FixedArrayBase* Heap::LeftTrimFixedArray(FixedArrayBase* object, |
| !Marking::IsBlack(ObjectMarking::MarkBitFrom( |
| HeapObject::FromAddress(new_start), |
| MarkingState::Internal(HeapObject::FromAddress(new_start))))) { |
| - IncrementalMarking::TransferMark(this, object, |
| - HeapObject::FromAddress(new_start)); |
| + incremental_marking()->TransferMark(this, object, |
| + HeapObject::FromAddress(new_start)); |
| } |
| // Technically in new space this write might be omitted (except for |
| @@ -4855,7 +4855,7 @@ class IterateAndScavengePromotedObjectsVisitor final : public ObjectVisitor { |
| // promoted objects. |
| if (heap_->incremental_marking()->black_allocation()) { |
| Code* code = Code::cast(Code::GetObjectFromEntryAddress(code_entry_slot)); |
| - IncrementalMarking::MarkGrey(heap_, code); |
| + heap_->incremental_marking()->MarkGrey(heap_, code); |
| } |
| } |
| @@ -4897,7 +4897,7 @@ void Heap::IterateAndScavengePromotedObject(HeapObject* target, int size, |
| // regular visiting and IteratePromotedObjectPointers. |
| if (!was_marked_black) { |
| if (incremental_marking()->black_allocation()) { |
| - IncrementalMarking::MarkGrey(this, target->map()); |
| + incremental_marking()->MarkGrey(this, target->map()); |
| incremental_marking()->IterateBlackObject(target); |
| } |
| } |
| @@ -5517,7 +5517,6 @@ bool Heap::SetUp() { |
| store_buffer_ = new StoreBuffer(this); |
| incremental_marking_ = new IncrementalMarking(this); |
| - |
| concurrent_marking_ = new ConcurrentMarking(this); |
| for (int i = 0; i <= LAST_SPACE; i++) { |
| @@ -5565,6 +5564,8 @@ bool Heap::SetUp() { |
| tracer_ = new GCTracer(this); |
| scavenge_collector_ = new Scavenger(this); |
| mark_compact_collector_ = new MarkCompactCollector(this); |
| + incremental_marking_->set_marking_deque( |
|
Michael Lippautz
2017/04/28 12:49:40
There's a dependency of setting up spaces in IM so
|
| + mark_compact_collector_->marking_deque()); |
| if (FLAG_minor_mc) |
| minor_mark_compact_collector_ = new MinorMarkCompactCollector(this); |
| gc_idle_time_handler_ = new GCIdleTimeHandler(); |
| @@ -5676,7 +5677,7 @@ void Heap::RegisterExternallyReferencedObject(Object** object) { |
| HeapObject* heap_object = HeapObject::cast(*object); |
| DCHECK(Contains(heap_object)); |
| if (FLAG_incremental_marking_wrappers && incremental_marking()->IsMarking()) { |
| - IncrementalMarking::MarkGrey(this, heap_object); |
| + incremental_marking()->MarkGrey(this, heap_object); |
| } else { |
| DCHECK(mark_compact_collector()->in_use()); |
| mark_compact_collector()->MarkObject(heap_object); |