Index: src/heap/mark-compact.cc |
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
index ad0c58e4a8d53e61c5c459caec33d9299184d065..126b87c034e4448e489af9390ea0df53aa9b54ef 100644 |
--- a/src/heap/mark-compact.cc |
+++ b/src/heap/mark-compact.cc |
@@ -2850,6 +2850,16 @@ class PointersUpdatingVisitor : public ObjectVisitor { |
} |
} |
+ void VisitCodeEntry(Address entry_address) override { |
+ Object* code = Code::GetObjectFromEntryAddress(entry_address); |
+ Object* old_code = code; |
+ VisitPointer(&code); |
+ if (code != old_code) { |
+ Memory::Address_at(entry_address) = |
+ reinterpret_cast<Code*>(code)->entry(); |
+ } |
+ } |
+ |
void VisitDebugTarget(RelocInfo* rinfo) override { |
DCHECK(RelocInfo::IsDebugBreakSlot(rinfo->rmode()) && |
rinfo->IsPatchedDebugBreakSlotSequence()); |