Index: src/s390/macro-assembler-s390.cc |
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc |
index 4ed7c19002326a6c0031198da2f020fb164e02aa..dfc11a07715757c8facfaffa5d2f8e1c6f150c3d 100644 |
--- a/src/s390/macro-assembler-s390.cc |
+++ b/src/s390/macro-assembler-s390.cc |
@@ -1472,6 +1472,17 @@ void MacroAssembler::DebugBreak() { |
Call(ces.GetCode(), RelocInfo::DEBUGGER_STATEMENT); |
} |
+void MacroAssembler::MaybeDropFrames() { |
+ // Check whether we need to drop frames to restart a function on the stack. |
+ ExternalReference restart_fp = |
+ ExternalReference::debug_restart_fp_address(isolate()); |
+ mov(r3, Operand(restart_fp)); |
+ LoadP(r3, MemOperand(r3)); |
+ CmpP(r3, Operand::Zero()); |
+ Jump(isolate()->builtins()->FrameDropperTrampoline(), RelocInfo::CODE_TARGET, |
+ ne); |
+} |
+ |
void MacroAssembler::PushStackHandler() { |
// Adjust this code if not the case. |
STATIC_ASSERT(StackHandlerConstants::kSize == 1 * kPointerSize); |