Chromium Code Reviews| Index: src/mark-compact.cc |
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
| index 412bc6b736fb9b6d58820476c0fdf881cca56074..f9ac577e83260b3b2d59a7563ca225ef0893ecd1 100644 |
| --- a/src/mark-compact.cc |
| +++ b/src/mark-compact.cc |
| @@ -62,6 +62,7 @@ MarkCompactCollector::MarkCompactCollector() : // NOLINT |
| sweep_precisely_(false), |
| reduce_memory_footprint_(false), |
| abort_incremental_marking_(false), |
| + marking_parity_(ODD_MARKING_PARITY), |
| compacting_(false), |
| was_marked_incrementally_(false), |
| tracer_(NULL), |
| @@ -404,6 +405,13 @@ void MarkCompactCollector::CollectGarbage() { |
| Finish(); |
| + if (marking_parity_ == EVEN_MARKING_PARITY) { |
| + marking_parity_ = ODD_MARKING_PARITY; |
| + } else { |
| + ASSERT(marking_parity_ == ODD_MARKING_PARITY); |
| + marking_parity_ = EVEN_MARKING_PARITY; |
| + } |
| + |
| tracer_ = NULL; |
| } |
| @@ -2344,6 +2352,14 @@ class PointersUpdatingVisitor: public ObjectVisitor { |
| } |
| } |
| + void VisitCodeAgeSequence(RelocInfo* rinfo) { |
| + ASSERT(RelocInfo::IsCodeAgeSequence(rinfo->rmode())); |
| + Object* stub = rinfo->code_age_stub(); |
| + ASSERT(stub != NULL); |
| + VisitPointer(&stub); |
| + rinfo->set_code_age_stub(Code::cast(stub)); |
|
Michael Starzinger
2012/11/02 15:29:34
Can we use the "if (target != old_target)" pattern
danno
2012/11/09 13:05:30
Done.
|
| + } |
| + |
| void VisitDebugTarget(RelocInfo* rinfo) { |
| ASSERT((RelocInfo::IsJSReturn(rinfo->rmode()) && |
| rinfo->IsPatchedReturnSequence()) || |