Index: src/heap/incremental-marking.cc |
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
index b3609e4adcf7db1baa16dde096f9ee48d5290045..c1a7a09b833ab2fa2a3083312cd067635ebbf09a 100644 |
--- a/src/heap/incremental-marking.cc |
+++ b/src/heap/incremental-marking.cc |
@@ -138,10 +138,9 @@ static void MarkObjectGreyDoNotEnqueue(Object* obj) { |
static inline void MarkBlackOrKeepGrey(HeapObject* heap_object, |
MarkBit mark_bit, int size) { |
DCHECK(!Marking::IsImpossible(mark_bit)); |
- if (mark_bit.Get()) return; |
- mark_bit.Set(); |
+ if (Marking::IsMarked(mark_bit)) return; |
ulan
2015/03/27 08:36:55
I like IsWhite(), IsBlack() predicates because the
Hannes Payer (out of office)
2015/03/30 15:09:25
Done.
|
+ Marking::MarkBlack(mark_bit); |
MemoryChunk::IncrementLiveBytesFromGC(heap_object->address(), size); |
- DCHECK(Marking::IsBlack(mark_bit)); |
} |
@@ -151,7 +150,6 @@ static inline void MarkBlackOrKeepBlack(HeapObject* heap_object, |
if (Marking::IsBlack(mark_bit)) return; |
Marking::MarkBlack(mark_bit); |
MemoryChunk::IncrementLiveBytesFromGC(heap_object->address(), size); |
- DCHECK(Marking::IsBlack(mark_bit)); |
} |
@@ -261,7 +259,7 @@ class IncrementalMarkingMarkingVisitor |
HeapObject* heap_object = HeapObject::cast(obj); |
MarkBit mark_bit = Marking::MarkBitFrom(heap_object); |
if (Marking::IsWhite(mark_bit)) { |
- mark_bit.Set(); |
+ Marking::MarkBlack(mark_bit); |
MemoryChunk::IncrementLiveBytesFromGC(heap_object->address(), |
heap_object->Size()); |
return true; |