| Index: src/objects-visiting-inl.h | 
| diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h | 
| index 46cc9d7989297adb4763f878179c77f49f07e387..d5dd44eeba12e2b6a3b25cc1ad435e3315470d1a 100644 | 
| --- a/src/objects-visiting-inl.h | 
| +++ b/src/objects-visiting-inl.h | 
| @@ -261,10 +261,8 @@ void StaticMarkingVisitor<StaticVisitor>::VisitEmbeddedPointer( | 
| ASSERT(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT); | 
| ASSERT(!rinfo->target_object()->IsConsString()); | 
| HeapObject* object = HeapObject::cast(rinfo->target_object()); | 
| -  if (!FLAG_weak_embedded_maps_in_optimized_code || !FLAG_collect_maps || | 
| -      rinfo->host()->kind() != Code::OPTIMIZED_FUNCTION || | 
| -      !object->IsMap() || !Map::cast(object)->CanTransition()) { | 
| -    heap->mark_compact_collector()->RecordRelocSlot(rinfo, object); | 
| +  heap->mark_compact_collector()->RecordRelocSlot(rinfo, object); | 
| +  if (!Code::IsWeakEmbeddedObject(rinfo->host()->kind(), object)) { | 
| StaticVisitor::MarkObject(heap, object); | 
| } | 
| } | 
|  |