Chromium Code Reviews| Index: src/mark-compact-inl.h |
| diff --git a/src/mark-compact-inl.h b/src/mark-compact-inl.h |
| index 43f6b8986f13c95d1caebbb9bce1d7870f834477..7ab76a09cac8e2690ed8082d826149127da91024 100644 |
| --- a/src/mark-compact-inl.h |
| +++ b/src/mark-compact-inl.h |
| @@ -1,4 +1,4 @@ |
| -// Copyright 2011 the V8 project authors. All rights reserved. |
| +// Copyright 2012 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,6 +52,15 @@ void MarkCompactCollector::SetFlags(int flags) { |
| } |
| +bool MarkCompactCollector::MarkObject(HeapObject* obj) { |
|
Vyacheslav Egorov (Chromium)
2012/05/11 12:58:35
Usually we avoid to use function overloading (per
Michael Starzinger
2012/05/11 14:51:53
Done, renamed to MarkObjectAndPush().
|
| + 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()) { |
| @@ -62,16 +71,13 @@ void MarkCompactCollector::MarkObject(HeapObject* obj, MarkBit mark_bit) { |
| } |
| -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); |
| +bool MarkCompactCollector::MarkObjectWithoutPush(HeapObject* obj) { |
| + MarkBit mark_bit = Marking::MarkBitFrom(obj); |
| + if (!mark_bit.Get()) { |
| + SetMark(obj, mark_bit); |
| + return true; |
| + } |
| + return false; |
| } |