Index: src/heap/mark-compact-inl.h |
diff --git a/src/heap/mark-compact-inl.h b/src/heap/mark-compact-inl.h |
index 66b0a59cec6c0b32ba3cf2147e0af2e55bd81f98..c38d20db2a9080142d76b7c00f0804ac0b577a84 100644 |
--- a/src/heap/mark-compact-inl.h |
+++ b/src/heap/mark-compact-inl.h |
@@ -29,10 +29,9 @@ void MarkCompactCollector::SetFlags(int flags) { |
void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { |
DCHECK(Marking::MarkBitFrom(obj) == mark_bit); |
- if (!mark_bit.Get()) { |
- mark_bit.Set(); |
+ if (Marking::IsWhite(mark_bit)) { |
+ Marking::WhiteToBlack(mark_bit); |
MemoryChunk::IncrementLiveBytesFromGC(obj->address(), obj->Size()); |
- DCHECK(IsMarked(obj)); |
DCHECK(obj->GetIsolate()->heap()->Contains(obj)); |
marking_deque_.PushBlack(obj); |
} |
@@ -40,9 +39,9 @@ void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { |
void MarkCompactCollector::SetMark(HeapObject* obj, MarkBit mark_bit) { |
- DCHECK(!mark_bit.Get()); |
+ DCHECK(Marking::IsWhite(mark_bit)); |
DCHECK(Marking::MarkBitFrom(obj) == mark_bit); |
- mark_bit.Set(); |
+ Marking::WhiteToBlack(mark_bit); |
MemoryChunk::IncrementLiveBytesFromGC(obj->address(), obj->Size()); |
} |
@@ -50,7 +49,7 @@ void MarkCompactCollector::SetMark(HeapObject* obj, MarkBit mark_bit) { |
bool MarkCompactCollector::IsMarked(Object* obj) { |
DCHECK(obj->IsHeapObject()); |
HeapObject* heap_object = HeapObject::cast(obj); |
- return Marking::MarkBitFrom(heap_object).Get(); |
+ return Marking::IsMarked(Marking::MarkBitFrom(heap_object)); |
} |