Index: src/debug.cc |
diff --git a/src/debug.cc b/src/debug.cc |
index 315f999aace404c8f11472679863eb1a1e051658..cdd2b8c7b949115816cbc91bc0395a74610a4efd 100644 |
--- a/src/debug.cc |
+++ b/src/debug.cc |
@@ -2735,8 +2735,19 @@ |
bool debug_command_only = isolate_->stack_guard()->CheckDebugCommand() && |
!isolate_->stack_guard()->CheckDebugBreak(); |
+ bool is_debugger_statement = !isolate_->stack_guard()->CheckDebugCommand() && |
+ !isolate_->stack_guard()->CheckDebugBreak(); |
+ |
isolate_->stack_guard()->ClearDebugBreak(); |
+ if (is_debugger_statement) { |
+ // If we have been called via 'debugger' Javascript statement, |
+ // we might not be prepared for breakpoints. |
+ // TODO(dslomov,yangguo): CheckDebugBreak may race with RequestDebugBreak. |
+ // Revisit this to clean-up. |
+ HandleScope handle_scope(isolate_); |
+ PrepareForBreakPoints(); |
+ } |
ProcessDebugMessages(debug_command_only); |
} |