| 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() {
|
|
|