| 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))) {
|
|
|