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