Index: src/objects-visiting-inl.h |
diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h |
index 856ae06b7b133bb126371b40fbc42b9eed43b176..4557d80d4085e4bdf39eb8f389978de52f51495e 100644 |
--- a/src/objects-visiting-inl.h |
+++ b/src/objects-visiting-inl.h |
@@ -229,6 +229,17 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget( |
template<typename StaticVisitor> |
+void StaticMarkingVisitor<StaticVisitor>::VisitCodeAgeSequence( |
+ Heap* heap, RelocInfo* rinfo) { |
+ ASSERT(RelocInfo::IsCodeAgeSequence(rinfo->rmode())); |
+ Code* target = rinfo->code_age_stub(); |
+ ASSERT(target != NULL); |
+ heap->mark_compact_collector()->RecordRelocSlot(rinfo, target); |
+ StaticVisitor::MarkObject(heap, target); |
+} |
+ |
+ |
+template<typename StaticVisitor> |
void StaticMarkingVisitor<StaticVisitor>::VisitNativeContext( |
Map* map, HeapObject* object) { |
FixedBodyVisitor<StaticVisitor, |
@@ -251,6 +262,9 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCode( |
Map* map, HeapObject* object) { |
Heap* heap = map->GetHeap(); |
Code* code = Code::cast(object); |
+ if (!Serializer::enabled()) { |
+ code->MakeOlder(heap->mark_compact_collector()->marking_parity()); |
+ } |
if (FLAG_cleanup_code_caches_at_gc) { |
code->ClearTypeFeedbackCells(heap); |
} |