Index: src/arm/assembler-arm-inl.h |
diff --git a/src/arm/assembler-arm-inl.h b/src/arm/assembler-arm-inl.h |
index 4b4e1d32080311da54dabb76e130275c55f53a71..60cda5380be306d00f8d643c88e373b72e569e2b 100644 |
--- a/src/arm/assembler-arm-inl.h |
+++ b/src/arm/assembler-arm-inl.h |
@@ -97,7 +97,7 @@ DwVfpRegister DwVfpRegister::FromAllocationIndex(int index) { |
} |
-void RelocInfo::apply(intptr_t delta, ICacheFlushMode icache_flush_mode) { |
+void RelocInfo::apply(intptr_t delta) { |
if (RelocInfo::IsInternalReference(rmode_)) { |
// absolute code pointer inside code object moves with the code object. |
int32_t* p = reinterpret_cast<int32_t*>(pc_); |
@@ -272,19 +272,18 @@ void RelocInfo::set_code_age_stub(Code* stub, |
} |
-Address RelocInfo::call_address() { |
+Address RelocInfo::debug_call_address() { |
// The 2 instructions offset assumes patched debug break slot or return |
// sequence. |
- DCHECK((IsJSReturn(rmode()) && IsPatchedReturnSequence()) || |
- (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence())); |
- return Memory::Address_at(pc_ + 2 * Assembler::kInstrSize); |
+ DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); |
+ return Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset); |
} |
-void RelocInfo::set_call_address(Address target) { |
- DCHECK((IsJSReturn(rmode()) && IsPatchedReturnSequence()) || |
- (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence())); |
- Memory::Address_at(pc_ + 2 * Assembler::kInstrSize) = target; |
+void RelocInfo::set_debug_call_address(Address target) { |
+ DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); |
+ Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset) = |
+ target; |
if (host() != NULL) { |
Object* target_code = Code::GetCodeFromTargetAddress(target); |
host()->GetHeap()->incremental_marking()->RecordWriteIntoCode( |
@@ -293,23 +292,6 @@ void RelocInfo::set_call_address(Address target) { |
} |
-Object* RelocInfo::call_object() { |
- return *call_object_address(); |
-} |
- |
- |
-void RelocInfo::set_call_object(Object* target) { |
- *call_object_address() = target; |
-} |
- |
- |
-Object** RelocInfo::call_object_address() { |
- DCHECK((IsJSReturn(rmode()) && IsPatchedReturnSequence()) || |
- (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence())); |
- return reinterpret_cast<Object**>(pc_ + 2 * Assembler::kInstrSize); |
-} |
- |
- |
void RelocInfo::WipeOut() { |
DCHECK(IsEmbeddedObject(rmode_) || IsCodeTarget(rmode_) || |
IsRuntimeEntry(rmode_) || IsExternalReference(rmode_) || |
@@ -353,10 +335,8 @@ void RelocInfo::Visit(Isolate* isolate, ObjectVisitor* visitor) { |
visitor->VisitInternalReference(this); |
} else if (RelocInfo::IsCodeAgeSequence(mode)) { |
visitor->VisitCodeAgeSequence(this); |
- } else if (((RelocInfo::IsJSReturn(mode) && |
- IsPatchedReturnSequence()) || |
- (RelocInfo::IsDebugBreakSlot(mode) && |
- IsPatchedDebugBreakSlotSequence())) && |
+ } else if (RelocInfo::IsDebugBreakSlot(mode) && |
+ IsPatchedDebugBreakSlotSequence() && |
isolate->debug()->has_break_points()) { |
visitor->VisitDebugTarget(this); |
} else if (RelocInfo::IsRuntimeEntry(mode)) { |
@@ -381,10 +361,8 @@ void RelocInfo::Visit(Heap* heap) { |
} else if (RelocInfo::IsCodeAgeSequence(mode)) { |
StaticVisitor::VisitCodeAgeSequence(heap, this); |
} else if (heap->isolate()->debug()->has_break_points() && |
- ((RelocInfo::IsJSReturn(mode) && |
- IsPatchedReturnSequence()) || |
- (RelocInfo::IsDebugBreakSlot(mode) && |
- IsPatchedDebugBreakSlotSequence()))) { |
+ RelocInfo::IsDebugBreakSlot(mode) && |
+ IsPatchedDebugBreakSlotSequence()) { |
StaticVisitor::VisitDebugTarget(heap, this); |
} else if (RelocInfo::IsRuntimeEntry(mode)) { |
StaticVisitor::VisitRuntimeEntry(this); |
@@ -504,11 +482,6 @@ Address Assembler::target_address_from_return_address(Address pc) { |
} |
-Address Assembler::break_address_from_return_address(Address pc) { |
- return pc - Assembler::kPatchDebugBreakSlotReturnOffset; |
-} |
- |
- |
Address Assembler::return_address_from_call_start(Address pc) { |
if (IsLdrPcImmediateOffset(Memory::int32_at(pc)) | |
IsLdrPpImmediateOffset(Memory::int32_at(pc))) { |