Index: src/execution.cc |
diff --git a/src/execution.cc b/src/execution.cc |
index 0f935ac8a108a66b60e4822ceb1805441830d514..a79af2373c3a951de695ae12bcb1dd6994733263 100644 |
--- a/src/execution.cc |
+++ b/src/execution.cc |
@@ -638,24 +638,32 @@ Object* Execution::DebugBreakHelper() { |
bool debug_command_only = |
StackGuard::IsDebugCommand() && !StackGuard::IsDebugBreak(); |
- // Clear the debug request flags. |
+ // Clear the debug break request flag. |
StackGuard::Continue(DEBUGBREAK); |
+ |
+ ProcessDebugMesssages(debug_command_only); |
+ |
+ // Return to continue execution. |
+ return Heap::undefined_value(); |
+} |
+ |
+void Execution::ProcessDebugMesssages(bool debug_command_only) { |
+ // Clear the debug command request flag. |
StackGuard::Continue(DEBUGCOMMAND); |
HandleScope scope; |
// Enter the debugger. Just continue if we fail to enter the debugger. |
EnterDebugger debugger; |
if (debugger.FailedToEnter()) { |
- return Heap::undefined_value(); |
+ return; |
} |
// Notify the debug event listeners. Indicate auto continue if the break was |
// a debug command break. |
Debugger::OnDebugBreak(Factory::undefined_value(), debug_command_only); |
- |
- // Return to continue execution. |
- return Heap::undefined_value(); |
} |
+ |
+ |
#endif |
Object* Execution::HandleStackGuardInterrupt() { |