Index: src/arm/assembler-arm-inl.h |
diff --git a/src/arm/assembler-arm-inl.h b/src/arm/assembler-arm-inl.h |
index 114ec234d271c71f76cc14f23ae235129af67a9e..5be57709e382ee4781f2a68ab33e9dea24c65fa3 100644 |
--- a/src/arm/assembler-arm-inl.h |
+++ b/src/arm/assembler-arm-inl.h |
@@ -120,9 +120,8 @@ Address RelocInfo::call_address() { |
void RelocInfo::set_call_address(Address target) { |
- ASSERT(IsPatchedReturnSequence()); |
- // The 2 instructions offset assumes patched return sequence. |
- ASSERT(IsJSReturn(rmode())); |
+ ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) || |
+ (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence())); |
Memory::Address_at(pc_ + 2 * Assembler::kInstrSize) = target; |
} |
@@ -132,16 +131,15 @@ Object* RelocInfo::call_object() { |
} |
-Object** RelocInfo::call_object_address() { |
- ASSERT(IsPatchedReturnSequence()); |
- // The 2 instructions offset assumes patched return sequence. |
- ASSERT(IsJSReturn(rmode())); |
- return reinterpret_cast<Object**>(pc_ + 2 * Assembler::kInstrSize); |
+void RelocInfo::set_call_object(Object* target) { |
+ *call_object_address() = target; |
} |
-void RelocInfo::set_call_object(Object* target) { |
- *call_object_address() = target; |
+Object** RelocInfo::call_object_address() { |
+ ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) || |
+ (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence())); |
+ return reinterpret_cast<Object**>(pc_ + 2 * Assembler::kInstrSize); |
} |