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