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