Index: src/debug/debug.cc |
diff --git a/src/debug/debug.cc b/src/debug/debug.cc |
index 485ba5acf84cc761e29eef294fd7bdca23201e71..0e0cfa360828376f0ae07397ce474cd1cf3ec2e6 100644 |
--- a/src/debug/debug.cc |
+++ b/src/debug/debug.cc |
@@ -2125,8 +2125,7 @@ MaybeHandle<Object> Debug::Call(Handle<Object> fun, Handle<Object> data) { |
argv); |
} |
- |
-void Debug::HandleDebugBreak() { |
+void Debug::HandleDebugBreak(IgnoreBreakMode ignore_break_mode) { |
// Initialize LiveEdit. |
LiveEdit::InitializeThreadLocal(this); |
// Ignore debug break during bootstrapping. |
@@ -2147,7 +2146,10 @@ void Debug::HandleDebugBreak() { |
// Don't stop in builtin and blackboxed functions. |
Handle<SharedFunctionInfo> shared(JSFunction::cast(fun)->shared(), |
isolate_); |
- if (IsBlackboxed(shared)) { |
+ bool ignore_break = ignore_break_mode == kIgnoreIfTopFrameBlackboxed |
+ ? IsBlackboxed(shared) |
+ : AllFramesOnStackAreBlackboxed(); |
+ if (ignore_break) { |
// Inspector uses pause on next statement for asynchronous breakpoints. |
// When breakpoint is fired we try to break on first not blackboxed |
// statement. To achieve this goal we need to deoptimize current |