OLD | NEW |
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 1961 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1972 if (!shared->computed_debug_is_blackboxed()) { | 1972 if (!shared->computed_debug_is_blackboxed()) { |
1973 bool is_blackboxed = | 1973 bool is_blackboxed = |
1974 !shared->IsSubjectToDebugging() || !shared->script()->IsScript(); | 1974 !shared->IsSubjectToDebugging() || !shared->script()->IsScript(); |
1975 if (!is_blackboxed) { | 1975 if (!is_blackboxed) { |
1976 SuppressDebug while_processing(this); | 1976 SuppressDebug while_processing(this); |
1977 HandleScope handle_scope(isolate_); | 1977 HandleScope handle_scope(isolate_); |
1978 PostponeInterruptsScope no_interrupts(isolate_); | 1978 PostponeInterruptsScope no_interrupts(isolate_); |
1979 DisableBreak no_recursive_break(this); | 1979 DisableBreak no_recursive_break(this); |
1980 DCHECK(shared->script()->IsScript()); | 1980 DCHECK(shared->script()->IsScript()); |
1981 Handle<Script> script(Script::cast(shared->script())); | 1981 Handle<Script> script(Script::cast(shared->script())); |
1982 DCHECK(script->type() == i::Script::TYPE_NORMAL); | 1982 DCHECK(script->IsUserJavaScript()); |
1983 debug::Location start = | 1983 debug::Location start = |
1984 GetDebugLocation(script, shared->start_position()); | 1984 GetDebugLocation(script, shared->start_position()); |
1985 debug::Location end = GetDebugLocation(script, shared->end_position()); | 1985 debug::Location end = GetDebugLocation(script, shared->end_position()); |
1986 is_blackboxed = debug_delegate_->IsFunctionBlackboxed( | 1986 is_blackboxed = debug_delegate_->IsFunctionBlackboxed( |
1987 ToApiHandle<debug::Script>(script), start, end); | 1987 ToApiHandle<debug::Script>(script), start, end); |
1988 } | 1988 } |
1989 shared->set_debug_is_blackboxed(is_blackboxed); | 1989 shared->set_debug_is_blackboxed(is_blackboxed); |
1990 shared->set_computed_debug_is_blackboxed(true); | 1990 shared->set_computed_debug_is_blackboxed(true); |
1991 } | 1991 } |
1992 return shared->debug_is_blackboxed(); | 1992 return shared->debug_is_blackboxed(); |
(...skipping 30 matching lines...) Expand all Loading... |
2023 Utils::ToLocal(debug_scope.GetContext()), type, id, parent_id, | 2023 Utils::ToLocal(debug_scope.GetContext()), type, id, parent_id, |
2024 created_by_user); | 2024 created_by_user); |
2025 } | 2025 } |
2026 | 2026 |
2027 void Debug::ProcessCompileEvent(v8::DebugEvent event, Handle<Script> script) { | 2027 void Debug::ProcessCompileEvent(v8::DebugEvent event, Handle<Script> script) { |
2028 // Attach the correct debug id to the script. The debug id is used by the | 2028 // Attach the correct debug id to the script. The debug id is used by the |
2029 // inspector to filter scripts by native context. | 2029 // inspector to filter scripts by native context. |
2030 FixedArray* array = isolate_->native_context()->embedder_data(); | 2030 FixedArray* array = isolate_->native_context()->embedder_data(); |
2031 script->set_context_data(array->get(v8::Context::kDebugIdIndex)); | 2031 script->set_context_data(array->get(v8::Context::kDebugIdIndex)); |
2032 if (ignore_events()) return; | 2032 if (ignore_events()) return; |
2033 if (script->type() != i::Script::TYPE_NORMAL && | 2033 if (!script->IsUserJavaScript() && script->type() != i::Script::TYPE_WASM) { |
2034 script->type() != i::Script::TYPE_WASM) { | |
2035 return; | 2034 return; |
2036 } | 2035 } |
2037 if (!debug_delegate_) return; | 2036 if (!debug_delegate_) return; |
2038 SuppressDebug while_processing(this); | 2037 SuppressDebug while_processing(this); |
2039 DebugScope debug_scope(this); | 2038 DebugScope debug_scope(this); |
2040 if (debug_scope.failed()) return; | 2039 if (debug_scope.failed()) return; |
2041 HandleScope scope(isolate_); | 2040 HandleScope scope(isolate_); |
2042 PostponeInterruptsScope postpone(isolate_); | 2041 PostponeInterruptsScope postpone(isolate_); |
2043 DisableBreak no_recursive_break(this); | 2042 DisableBreak no_recursive_break(this); |
2044 debug_delegate_->ScriptCompiled(ToApiHandle<debug::Script>(script), | 2043 debug_delegate_->ScriptCompiled(ToApiHandle<debug::Script>(script), |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2457 isolate_->Throw(*isolate_->factory()->NewEvalError( | 2456 isolate_->Throw(*isolate_->factory()->NewEvalError( |
2458 MessageTemplate::kNoSideEffectDebugEvaluate)); | 2457 MessageTemplate::kNoSideEffectDebugEvaluate)); |
2459 } | 2458 } |
2460 isolate_->set_needs_side_effect_check(old_needs_side_effect_check_); | 2459 isolate_->set_needs_side_effect_check(old_needs_side_effect_check_); |
2461 isolate_->debug()->UpdateHookOnFunctionCall(); | 2460 isolate_->debug()->UpdateHookOnFunctionCall(); |
2462 isolate_->debug()->side_effect_check_failed_ = false; | 2461 isolate_->debug()->side_effect_check_failed_ = false; |
2463 } | 2462 } |
2464 | 2463 |
2465 } // namespace internal | 2464 } // namespace internal |
2466 } // namespace v8 | 2465 } // namespace v8 |
OLD | NEW |