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