Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 81361f02aae4023a3aa5d7b202ed89fd73828e7f..a694f980122988c82172344d17fca71020488843 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -67,6 +67,18 @@ class VerifyMarkingVisitor: public ObjectVisitor { |
} |
} |
+ void VisitConstantPoolEmbeddedPointer( |
+ Object** p, |
+ ConstantPoolArray::WeakObjectState state) { |
+ bool is_weak_object = |
+ (state == ConstantPoolArray::WEAK_OBJECTS_IN_OPTIMIZED_CODE && |
+ Code::IsWeakObjectInOptimizedCode(*p)) || |
+ (state == ConstantPoolArray::WEAK_OBJECTS_IN_IC && |
+ Code::IsWeakObjectInIC(*p)); |
+ if (!is_weak_object) |
+ VisitPointer(p); |
+ } |
+ |
void VisitEmbeddedPointer(RelocInfo* rinfo) { |
ASSERT(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT); |
if (!rinfo->host()->IsWeakObject(rinfo->target_object())) { |