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