Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Side by Side Diff: src/debug/debug.cc

Issue 2648353006: [inspector] ignores debugger; in blackboxed code (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | test/inspector/debugger/framework-break-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/debug/debug.h" 5 #include "src/debug/debug.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "src/api.h" 9 #include "src/api.h"
10 #include "src/arguments.h" 10 #include "src/arguments.h"
(...skipping 2121 matching lines...) Expand 10 before | Expand all | Expand 10 after
2132 2132
2133 StackLimitCheck check(isolate_); 2133 StackLimitCheck check(isolate_);
2134 if (check.HasOverflowed()) return; 2134 if (check.HasOverflowed()) return;
2135 2135
2136 { JavaScriptFrameIterator it(isolate_); 2136 { JavaScriptFrameIterator it(isolate_);
2137 DCHECK(!it.done()); 2137 DCHECK(!it.done());
2138 Object* fun = it.frame()->function(); 2138 Object* fun = it.frame()->function();
2139 if (fun && fun->IsJSFunction()) { 2139 if (fun && fun->IsJSFunction()) {
2140 // Don't stop in builtin functions. 2140 // Don't stop in builtin functions.
2141 if (!JSFunction::cast(fun)->shared()->IsSubjectToDebugging()) return; 2141 if (!JSFunction::cast(fun)->shared()->IsSubjectToDebugging()) return;
2142 if (isolate_->stack_guard()->CheckDebugBreak() && 2142 if (IsBlackboxed(JSFunction::cast(fun)->shared())) {
Yang 2017/01/25 06:03:52 Why do we need to deoptimize the function? We don'
kozy 2017/01/25 06:10:44 I think when we schedule pause on next statement f
Yang 2017/01/25 08:32:34 As discussed, please also deopt the function for t
2143 IsBlackboxed(JSFunction::cast(fun)->shared())) {
2144 Deoptimizer::DeoptimizeFunction(JSFunction::cast(fun)); 2143 Deoptimizer::DeoptimizeFunction(JSFunction::cast(fun));
2145 return; 2144 return;
2146 } 2145 }
2147 JSGlobalObject* global = 2146 JSGlobalObject* global =
2148 JSFunction::cast(fun)->context()->global_object(); 2147 JSFunction::cast(fun)->context()->global_object();
2149 // Don't stop in debugger functions. 2148 // Don't stop in debugger functions.
2150 if (IsDebugGlobal(global)) return; 2149 if (IsDebugGlobal(global)) return;
2151 // Don't stop if the break location is muted. 2150 // Don't stop if the break location is muted.
2152 if (IsMutedAtCurrentLocation(it.frame())) return; 2151 if (IsMutedAtCurrentLocation(it.frame())) return;
2153 } 2152 }
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
2334 return v8::Utils::ToLocal(callback_data_); 2333 return v8::Utils::ToLocal(callback_data_);
2335 } 2334 }
2336 2335
2337 2336
2338 v8::Isolate* EventDetailsImpl::GetIsolate() const { 2337 v8::Isolate* EventDetailsImpl::GetIsolate() const {
2339 return reinterpret_cast<v8::Isolate*>(exec_state_->GetIsolate()); 2338 return reinterpret_cast<v8::Isolate*>(exec_state_->GetIsolate());
2340 } 2339 }
2341 2340
2342 } // namespace internal 2341 } // namespace internal
2343 } // namespace v8 2342 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | test/inspector/debugger/framework-break-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698