| Index: src/ia32/assembler-ia32-inl.h
|
| diff --git a/src/ia32/assembler-ia32-inl.h b/src/ia32/assembler-ia32-inl.h
|
| index eb2a04dbc41aaa92bb9c670d31dc7137bface327..7fa151e9e75ec544cdf9c5ca8429b00a6c84d492 100644
|
| --- a/src/ia32/assembler-ia32-inl.h
|
| +++ b/src/ia32/assembler-ia32-inl.h
|
| @@ -121,32 +121,33 @@ Address* RelocInfo::target_reference_address() {
|
|
|
|
|
| Address RelocInfo::call_address() {
|
| - ASSERT(IsPatchedReturnSequence());
|
| + ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) ||
|
| + (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()));
|
| return Assembler::target_address_at(pc_ + 1);
|
| }
|
|
|
|
|
| void RelocInfo::set_call_address(Address target) {
|
| - ASSERT(IsPatchedReturnSequence());
|
| + ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) ||
|
| + (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()));
|
| Assembler::set_target_address_at(pc_ + 1, target);
|
| }
|
|
|
|
|
| Object* RelocInfo::call_object() {
|
| - ASSERT(IsPatchedReturnSequence());
|
| return *call_object_address();
|
| }
|
|
|
|
|
| -Object** RelocInfo::call_object_address() {
|
| - ASSERT(IsPatchedReturnSequence());
|
| - return reinterpret_cast<Object**>(pc_ + 1);
|
| +void RelocInfo::set_call_object(Object* target) {
|
| + *call_object_address() = target;
|
| }
|
|
|
|
|
| -void RelocInfo::set_call_object(Object* target) {
|
| - ASSERT(IsPatchedReturnSequence());
|
| - *call_object_address() = target;
|
| +Object** RelocInfo::call_object_address() {
|
| + ASSERT((IsJSReturn(rmode()) && IsPatchedReturnSequence()) ||
|
| + (IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()));
|
| + return reinterpret_cast<Object**>(pc_ + 1);
|
| }
|
|
|
|
|
|
|