Index: src/mark-compact.cc |
=================================================================== |
--- src/mark-compact.cc (revision 3020) |
+++ src/mark-compact.cc (working copy) |
@@ -282,8 +282,6 @@ |
rinfo->IsCallInstruction()); |
HeapObject* code = Code::GetCodeFromTargetAddress(rinfo->call_address()); |
MarkCompactCollector::MarkObject(code); |
- // When compacting we convert the call to a real object pointer. |
- if (IsCompacting()) rinfo->set_call_object(code); |
} |
private: |
@@ -1383,6 +1381,14 @@ |
reinterpret_cast<Code*>(target)->instruction_start()); |
} |
+ void VisitDebugTarget(RelocInfo* rinfo) { |
+ ASSERT(RelocInfo::IsJSReturn(rinfo->rmode()) && rinfo->IsCallInstruction()); |
+ Object* target = Code::GetCodeFromTargetAddress(rinfo->call_address()); |
+ VisitPointer(&target); |
+ rinfo->set_call_address( |
+ reinterpret_cast<Code*>(target)->instruction_start()); |
+ } |
+ |
private: |
void UpdatePointer(Object** p) { |
if (!(*p)->IsHeapObject()) return; |