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()) || |