Index: src/mark-compact-inl.h |
diff --git a/src/mark-compact-inl.h b/src/mark-compact-inl.h |
index 2f7e31fea53571fa1c21c8b764c1decdadfe9103..43f6b8986f13c95d1caebbb9bce1d7870f834477 100644 |
--- a/src/mark-compact-inl.h |
+++ b/src/mark-compact-inl.h |
@@ -1,4 +1,4 @@ |
-// Copyright 2012 the V8 project authors. All rights reserved. |
+// Copyright 2011 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -52,15 +52,6 @@ void MarkCompactCollector::SetFlags(int flags) { |
} |
-bool MarkCompactCollector::MarkObjectAndPush(HeapObject* obj) { |
- if (MarkObjectWithoutPush(obj)) { |
- marking_deque_.PushBlack(obj); |
- return true; |
- } |
- return false; |
-} |
- |
- |
void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { |
ASSERT(Marking::MarkBitFrom(obj) == mark_bit); |
if (!mark_bit.Get()) { |
@@ -71,13 +62,16 @@ void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { |
} |
-bool MarkCompactCollector::MarkObjectWithoutPush(HeapObject* obj) { |
- MarkBit mark_bit = Marking::MarkBitFrom(obj); |
- if (!mark_bit.Get()) { |
- SetMark(obj, mark_bit); |
- return true; |
- } |
- return false; |
+bool MarkCompactCollector::MarkObjectWithoutPush(HeapObject* object) { |
+ MarkBit mark = Marking::MarkBitFrom(object); |
+ bool old_mark = mark.Get(); |
+ if (!old_mark) SetMark(object, mark); |
+ return old_mark; |
+} |
+ |
+ |
+void MarkCompactCollector::MarkObjectAndPush(HeapObject* object) { |
+ if (!MarkObjectWithoutPush(object)) marking_deque_.PushBlack(object); |
} |