Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index e459332c76b47fd4b4d353d76655e7bfd5a2ddd7..fbf7cea3970a89728fcf383e37ce61d495f93961 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -10259,15 +10259,25 @@ const char* const VisitorSynchronization::kTagNames[ |
| #undef DECLARE_TAG |
| -void ObjectVisitor::VisitCodeTarget(RelocInfo* rinfo) { |
| - ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode())); |
| - Object* target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
| +void ObjectVisitor::VisitCodeTargetCommon(Address target_address) { |
|
Michael Starzinger
2014/03/07 14:36:59
IMHO, the logic in here is small enough so that we
rmcilroy
2014/03/10 12:25:23
Removed VisitCodeTarget(Address) as discussed, so
|
| + Object* target = Code::GetCodeFromTargetAddress(target_address); |
| Object* old_target = target; |
| VisitPointer(&target); |
| CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target. |
| } |
| +void ObjectVisitor::VisitCodeTarget(RelocInfo* rinfo) { |
| + ASSERT(RelocInfo::IsCodeTarget(rinfo->rmode())); |
| + VisitCodeTargetCommon(rinfo->target_address()); |
| +} |
| + |
| + |
| +void ObjectVisitor::VisitCodeTarget(Address target_address_pointer) { |
| + VisitCodeTargetCommon(Memory::Address_at(target_address_pointer)); |
| +} |
| + |
| + |
| void ObjectVisitor::VisitCodeAgeSequence(RelocInfo* rinfo) { |
| ASSERT(RelocInfo::IsCodeAgeSequence(rinfo->rmode())); |
| Object* stub = rinfo->code_age_stub(); |