Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 6f24eee0afeaab064e0051b737894db1ffe414bd..ea137f9157a5ae136273c630b7fb78589e5bd18e 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -12978,63 +12978,66 @@ const char* const VisitorSynchronization::kTagNames[ |
void ObjectVisitor::VisitCodeTarget(RelocInfo* rinfo) { |
DCHECK(RelocInfo::IsCodeTarget(rinfo->rmode())); |
- Object* target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
- Object* old_target = target; |
- VisitPointer(&target); |
- CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target. |
+ Object* old_pointer = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
+ Object* new_pointer = old_pointer; |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
void ObjectVisitor::VisitCodeAgeSequence(RelocInfo* rinfo) { |
DCHECK(RelocInfo::IsCodeAgeSequence(rinfo->rmode())); |
- Object* stub = rinfo->code_age_stub(); |
- if (stub) { |
- VisitPointer(&stub); |
+ Object* old_pointer = rinfo->code_age_stub(); |
+ Object* new_pointer = old_pointer; |
+ if (old_pointer != nullptr) { |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
} |
void ObjectVisitor::VisitCodeEntry(Address entry_address) { |
- 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(); |
- } |
+ Object* old_pointer = Code::GetObjectFromEntryAddress(entry_address); |
+ Object* new_pointer = old_pointer; |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
void ObjectVisitor::VisitCell(RelocInfo* rinfo) { |
DCHECK(rinfo->rmode() == RelocInfo::CELL); |
- Object* cell = rinfo->target_cell(); |
- Object* old_cell = cell; |
- VisitPointer(&cell); |
- if (cell != old_cell) { |
- rinfo->set_target_cell(reinterpret_cast<Cell*>(cell)); |
- } |
+ Object* old_pointer = rinfo->target_cell(); |
+ Object* new_pointer = old_pointer; |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
void ObjectVisitor::VisitDebugTarget(RelocInfo* rinfo) { |
DCHECK(RelocInfo::IsDebugBreakSlot(rinfo->rmode()) && |
rinfo->IsPatchedDebugBreakSlotSequence()); |
- Object* target = Code::GetCodeFromTargetAddress(rinfo->debug_call_address()); |
- Object* old_target = target; |
- VisitPointer(&target); |
- CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target. |
+ Object* old_pointer = |
+ Code::GetCodeFromTargetAddress(rinfo->debug_call_address()); |
+ Object* new_pointer = old_pointer; |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
void ObjectVisitor::VisitEmbeddedPointer(RelocInfo* rinfo) { |
DCHECK(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT); |
- Object* p = rinfo->target_object(); |
- VisitPointer(&p); |
+ Object* old_pointer = rinfo->target_object(); |
+ Object* new_pointer = old_pointer; |
+ VisitPointer(&new_pointer); |
+ DCHECK_EQ(old_pointer, new_pointer); |
} |
void ObjectVisitor::VisitExternalReference(RelocInfo* rinfo) { |
- Address p = rinfo->target_external_reference(); |
- VisitExternalReference(&p); |
+ Address old_reference = rinfo->target_external_reference(); |
+ Address new_reference = old_reference; |
+ VisitExternalReference(&new_reference); |
+ DCHECK_EQ(old_reference, new_reference); |
} |