Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 2ac5146c46d0cf06c6f00f2bbea878a0015db66b..b0bd010cb5b24669c5a6dd323ce32f5d2cba9270 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -5796,7 +5796,7 @@ class UnreachableObjectsFilter : public HeapObjectsFilter { |
bool SkipObject(HeapObject* object) { |
MarkBit mark_bit = Marking::MarkBitFrom(object); |
- return !mark_bit.Get(); |
+ return Marking::IsWhite(mark_bit); |
} |
private: |
@@ -5809,8 +5809,8 @@ class UnreachableObjectsFilter : public HeapObjectsFilter { |
if (!(*p)->IsHeapObject()) continue; |
HeapObject* obj = HeapObject::cast(*p); |
MarkBit mark_bit = Marking::MarkBitFrom(obj); |
- if (!mark_bit.Get()) { |
- mark_bit.Set(); |
+ if (Marking::IsWhite(mark_bit)) { |
+ Marking::WhiteToBlack(mark_bit); |
marking_stack_.Add(obj); |
} |
} |