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/api.h" | 5 #include "src/api.h" |
6 | 6 |
7 #include <string.h> // For memcpy, strlen. | 7 #include <string.h> // For memcpy, strlen. |
8 #ifdef V8_USE_ADDRESS_SANITIZER | 8 #ifdef V8_USE_ADDRESS_SANITIZER |
9 #include <sanitizer/asan_interface.h> | 9 #include <sanitizer/asan_interface.h> |
10 #endif // V8_USE_ADDRESS_SANITIZER | 10 #endif // V8_USE_ADDRESS_SANITIZER |
(...skipping 9021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9032 void debug::PrepareStep(Isolate* v8_isolate, StepAction action) { | 9032 void debug::PrepareStep(Isolate* v8_isolate, StepAction action) { |
9033 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); | 9033 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); |
9034 ENTER_V8(isolate); | 9034 ENTER_V8(isolate); |
9035 CHECK(isolate->debug()->CheckExecutionState()); | 9035 CHECK(isolate->debug()->CheckExecutionState()); |
9036 // Clear all current stepping setup. | 9036 // Clear all current stepping setup. |
9037 isolate->debug()->ClearStepping(); | 9037 isolate->debug()->ClearStepping(); |
9038 // Prepare step. | 9038 // Prepare step. |
9039 isolate->debug()->PrepareStep(static_cast<i::StepAction>(action)); | 9039 isolate->debug()->PrepareStep(static_cast<i::StepAction>(action)); |
9040 } | 9040 } |
9041 | 9041 |
| 9042 void debug::ClearStepping(Isolate* v8_isolate) { |
| 9043 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); |
| 9044 ENTER_V8(isolate); |
| 9045 CHECK(isolate->debug()->CheckExecutionState()); |
| 9046 // Clear all current stepping setup. |
| 9047 isolate->debug()->ClearStepping(); |
| 9048 } |
| 9049 |
9042 bool debug::HasNonBlackboxedFrameOnStack(Isolate* v8_isolate) { | 9050 bool debug::HasNonBlackboxedFrameOnStack(Isolate* v8_isolate) { |
9043 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); | 9051 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); |
9044 ENTER_V8(isolate); | 9052 ENTER_V8(isolate); |
9045 i::HandleScope scope(isolate); | 9053 i::HandleScope scope(isolate); |
9046 for (i::StackTraceFrameIterator it(isolate); !it.done(); it.Advance()) { | 9054 for (i::StackTraceFrameIterator it(isolate); !it.done(); it.Advance()) { |
9047 if (!it.is_javascript()) continue; | 9055 if (!it.is_javascript()) continue; |
9048 if (!isolate->debug()->IsFrameBlackboxed(it.javascript_frame())) { | 9056 if (!isolate->debug()->IsFrameBlackboxed(it.javascript_frame())) { |
9049 return true; | 9057 return true; |
9050 } | 9058 } |
9051 } | 9059 } |
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10046 Address callback_address = | 10054 Address callback_address = |
10047 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 10055 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
10048 VMState<EXTERNAL> state(isolate); | 10056 VMState<EXTERNAL> state(isolate); |
10049 ExternalCallbackScope call_scope(isolate, callback_address); | 10057 ExternalCallbackScope call_scope(isolate, callback_address); |
10050 callback(info); | 10058 callback(info); |
10051 } | 10059 } |
10052 | 10060 |
10053 | 10061 |
10054 } // namespace internal | 10062 } // namespace internal |
10055 } // namespace v8 | 10063 } // namespace v8 |
OLD | NEW |