| 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/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #include "src/api.h" | 7 #include "src/api.h" | 
| 8 #include "src/arguments.h" | 8 #include "src/arguments.h" | 
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 2536 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2547 } | 2547 } | 
| 2548 | 2548 | 
| 2549 | 2549 | 
| 2550 MaybeHandle<Object> Debug::MakePromiseEvent(Handle<JSObject> event_data) { | 2550 MaybeHandle<Object> Debug::MakePromiseEvent(Handle<JSObject> event_data) { | 
| 2551   // Create the promise event object. | 2551   // Create the promise event object. | 
| 2552   Handle<Object> argv[] = { event_data }; | 2552   Handle<Object> argv[] = { event_data }; | 
| 2553   return MakeJSObject("MakePromiseEvent", ARRAY_SIZE(argv), argv); | 2553   return MakeJSObject("MakePromiseEvent", ARRAY_SIZE(argv), argv); | 
| 2554 } | 2554 } | 
| 2555 | 2555 | 
| 2556 | 2556 | 
|  | 2557 MaybeHandle<Object> Debug::MakeAsyncTaskEvent(Handle<JSObject> task_event) { | 
|  | 2558   // Create the async task event object. | 
|  | 2559   Handle<Object> argv[] = { task_event }; | 
|  | 2560   return MakeJSObject("MakeAsyncTaskEvent", ARRAY_SIZE(argv), argv); | 
|  | 2561 } | 
|  | 2562 | 
|  | 2563 | 
| 2557 void Debug::OnException(Handle<Object> exception, bool uncaught) { | 2564 void Debug::OnException(Handle<Object> exception, bool uncaught) { | 
| 2558   if (in_debug_scope() || ignore_events()) return; | 2565   if (in_debug_scope() || ignore_events()) return; | 
| 2559 | 2566 | 
| 2560   HandleScope scope(isolate_); | 2567   HandleScope scope(isolate_); | 
| 2561   Handle<Object> promise = GetPromiseForUncaughtException(); | 2568   Handle<Object> promise = GetPromiseForUncaughtException(); | 
| 2562   uncaught |= !promise->IsUndefined(); | 2569   uncaught |= !promise->IsUndefined(); | 
| 2563 | 2570 | 
| 2564   // Bail out if exception breaks are not active | 2571   // Bail out if exception breaks are not active | 
| 2565   if (uncaught) { | 2572   if (uncaught) { | 
| 2566     // Uncaught exceptions are reported by either flags. | 2573     // Uncaught exceptions are reported by either flags. | 
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2711   // Bail out and don't call debugger if exception. | 2718   // Bail out and don't call debugger if exception. | 
| 2712   if (!MakePromiseEvent(data).ToHandle(&event_data)) return; | 2719   if (!MakePromiseEvent(data).ToHandle(&event_data)) return; | 
| 2713 | 2720 | 
| 2714   // Process debug event. | 2721   // Process debug event. | 
| 2715   ProcessDebugEvent(v8::PromiseEvent, | 2722   ProcessDebugEvent(v8::PromiseEvent, | 
| 2716                     Handle<JSObject>::cast(event_data), | 2723                     Handle<JSObject>::cast(event_data), | 
| 2717                     true); | 2724                     true); | 
| 2718 } | 2725 } | 
| 2719 | 2726 | 
| 2720 | 2727 | 
|  | 2728 void Debug::OnAsyncTaskEvent(Handle<JSObject> data) { | 
|  | 2729   if (in_debug_scope() || ignore_events()) return; | 
|  | 2730 | 
|  | 2731   HandleScope scope(isolate_); | 
|  | 2732   DebugScope debug_scope(this); | 
|  | 2733   if (debug_scope.failed()) return; | 
|  | 2734 | 
|  | 2735   // Create the script collected state object. | 
|  | 2736   Handle<Object> event_data; | 
|  | 2737   // Bail out and don't call debugger if exception. | 
|  | 2738   if (!MakeAsyncTaskEvent(data).ToHandle(&event_data)) return; | 
|  | 2739 | 
|  | 2740   // Process debug event. | 
|  | 2741   ProcessDebugEvent(v8::AsyncTaskEvent, | 
|  | 2742                     Handle<JSObject>::cast(event_data), | 
|  | 2743                     true); | 
|  | 2744 } | 
|  | 2745 | 
|  | 2746 | 
| 2721 void Debug::ProcessDebugEvent(v8::DebugEvent event, | 2747 void Debug::ProcessDebugEvent(v8::DebugEvent event, | 
| 2722                               Handle<JSObject> event_data, | 2748                               Handle<JSObject> event_data, | 
| 2723                               bool auto_continue) { | 2749                               bool auto_continue) { | 
| 2724   HandleScope scope(isolate_); | 2750   HandleScope scope(isolate_); | 
| 2725 | 2751 | 
| 2726   // Create the execution state. | 2752   // Create the execution state. | 
| 2727   Handle<Object> exec_state; | 2753   Handle<Object> exec_state; | 
| 2728   // Bail out and don't call debugger if exception. | 2754   // Bail out and don't call debugger if exception. | 
| 2729   if (!MakeExecutionState().ToHandle(&exec_state)) return; | 2755   if (!MakeExecutionState().ToHandle(&exec_state)) return; | 
| 2730 | 2756 | 
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3372   logger_->DebugEvent("Put", message.text()); | 3398   logger_->DebugEvent("Put", message.text()); | 
| 3373 } | 3399 } | 
| 3374 | 3400 | 
| 3375 | 3401 | 
| 3376 void LockingCommandMessageQueue::Clear() { | 3402 void LockingCommandMessageQueue::Clear() { | 
| 3377   base::LockGuard<base::Mutex> lock_guard(&mutex_); | 3403   base::LockGuard<base::Mutex> lock_guard(&mutex_); | 
| 3378   queue_.Clear(); | 3404   queue_.Clear(); | 
| 3379 } | 3405 } | 
| 3380 | 3406 | 
| 3381 } }  // namespace v8::internal | 3407 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|