Index: src/incremental-marking-inl.h |
diff --git a/src/incremental-marking-inl.h b/src/incremental-marking-inl.h |
index 33ffce335e7b0895a0ccc77b279d997c341041c9..37b0248928088ded2bdfe074edfea0ac94398293 100644 |
--- a/src/incremental-marking-inl.h |
+++ b/src/incremental-marking-inl.h |
@@ -35,7 +35,7 @@ namespace internal { |
void IncrementalMarking::RecordWrite(HeapObject* obj, Object* value) { |
- if (!IsStopped() && value->IsHeapObject()) { |
+ if (IsMarking() && value->IsHeapObject()) { |
MarkBit value_bit = heap_->marking()->MarkBitFrom(HeapObject::cast(value)); |
if (IsWhite(value_bit)) { |
MarkBit obj_bit = heap_->marking()->MarkBitFrom(obj); |
@@ -49,7 +49,7 @@ void IncrementalMarking::RecordWrite(HeapObject* obj, Object* value) { |
void IncrementalMarking::RecordWriteOf(HeapObject* value) { |
- if (state_ != STOPPED) { |
+ if (IsMarking()) { |
MarkBit value_bit = heap_->marking()->MarkBitFrom(value); |
if (IsWhite(value_bit)) { |
WhiteToGreyAndPush(value, value_bit); |
@@ -60,7 +60,7 @@ void IncrementalMarking::RecordWriteOf(HeapObject* value) { |
void IncrementalMarking::RecordWrites(HeapObject* obj) { |
- if (!IsStopped()) { |
+ if (IsMarking()) { |
MarkBit obj_bit = heap_->marking()->MarkBitFrom(obj); |
if (IsBlack(obj_bit)) { |
BlackToGreyAndUnshift(obj, obj_bit); |