Index: src/incremental-marking-inl.h |
diff --git a/src/incremental-marking-inl.h b/src/incremental-marking-inl.h |
index bbe9a9d209b36cca76360b2f9b091b755dc0587a..768fc9171f91d5841c9a36810099840cc194c181 100644 |
--- a/src/incremental-marking-inl.h |
+++ b/src/incremental-marking-inl.h |
@@ -111,7 +111,7 @@ void IncrementalMarking::BlackToGreyAndUnshift(HeapObject* obj, |
if (FLAG_trace_gc) { |
PrintPID("Hurrying incremental marking because of lack of progress\n"); |
} |
- marking_speed_ = kMaxMarkingSpeed; |
+ allocation_marking_factor_ = kMaxAllocationMarkingFactor; |
} |
} |
@@ -125,6 +125,27 @@ void IncrementalMarking::WhiteToGreyAndPush(HeapObject* obj, MarkBit mark_bit) { |
} |
+bool IncrementalMarking::MarkObjectAndPush(HeapObject* obj) { |
+ MarkBit mark_bit = Marking::MarkBitFrom(obj); |
+ if (!mark_bit.Get()) { |
+ WhiteToGreyAndPush(obj, mark_bit); |
+ return true; |
+ } |
+ return false; |
+} |
+ |
+ |
+bool IncrementalMarking::MarkObjectWithoutPush(HeapObject* obj) { |
+ MarkBit mark_bit = Marking::MarkBitFrom(obj); |
+ if (!mark_bit.Get()) { |
+ mark_bit.Set(); |
+ MemoryChunk::IncrementLiveBytesFromGC(obj->address(), obj->Size()); |
+ return true; |
+ } |
+ return false; |
+} |
+ |
+ |
} } // namespace v8::internal |
#endif // V8_INCREMENTAL_MARKING_INL_H_ |