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

Side by Side Diff: src/debug.cc

Issue 501323002: Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
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/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 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after
1044 debug_global, is_break_point_triggered_string).ToHandleChecked()); 1044 debug_global, is_break_point_triggered_string).ToHandleChecked());
1045 1045
1046 // Get the break id as an object. 1046 // Get the break id as an object.
1047 Handle<Object> break_id = factory->NewNumberFromInt(Debug::break_id()); 1047 Handle<Object> break_id = factory->NewNumberFromInt(Debug::break_id());
1048 1048
1049 // Call HandleBreakPointx. 1049 // Call HandleBreakPointx.
1050 Handle<Object> argv[] = { break_id, break_point_object }; 1050 Handle<Object> argv[] = { break_id, break_point_object };
1051 Handle<Object> result; 1051 Handle<Object> result;
1052 if (!Execution::TryCall(check_break_point, 1052 if (!Execution::TryCall(check_break_point,
1053 isolate_->js_builtins_object(), 1053 isolate_->js_builtins_object(),
1054 ARRAY_SIZE(argv), 1054 arraysize(argv),
1055 argv).ToHandle(&result)) { 1055 argv).ToHandle(&result)) {
1056 return false; 1056 return false;
1057 } 1057 }
1058 1058
1059 // Return whether the break point is triggered. 1059 // Return whether the break point is triggered.
1060 return result->IsTrue(); 1060 return result->IsTrue();
1061 } 1061 }
1062 1062
1063 1063
1064 // Check whether the function has debug information. 1064 // Check whether the function has debug information.
(...skipping 1386 matching lines...) Expand 10 before | Expand all | Expand 10 after
2451 return Execution::TryCall(Handle<JSFunction>::cast(constructor), 2451 return Execution::TryCall(Handle<JSFunction>::cast(constructor),
2452 handle(debug_context()->global_proxy()), 2452 handle(debug_context()->global_proxy()),
2453 argc, 2453 argc,
2454 argv); 2454 argv);
2455 } 2455 }
2456 2456
2457 2457
2458 MaybeHandle<Object> Debug::MakeExecutionState() { 2458 MaybeHandle<Object> Debug::MakeExecutionState() {
2459 // Create the execution state object. 2459 // Create the execution state object.
2460 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()) }; 2460 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()) };
2461 return MakeJSObject("MakeExecutionState", ARRAY_SIZE(argv), argv); 2461 return MakeJSObject("MakeExecutionState", arraysize(argv), argv);
2462 } 2462 }
2463 2463
2464 2464
2465 MaybeHandle<Object> Debug::MakeBreakEvent(Handle<Object> break_points_hit) { 2465 MaybeHandle<Object> Debug::MakeBreakEvent(Handle<Object> break_points_hit) {
2466 // Create the new break event object. 2466 // Create the new break event object.
2467 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()), 2467 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()),
2468 break_points_hit }; 2468 break_points_hit };
2469 return MakeJSObject("MakeBreakEvent", ARRAY_SIZE(argv), argv); 2469 return MakeJSObject("MakeBreakEvent", arraysize(argv), argv);
2470 } 2470 }
2471 2471
2472 2472
2473 MaybeHandle<Object> Debug::MakeExceptionEvent(Handle<Object> exception, 2473 MaybeHandle<Object> Debug::MakeExceptionEvent(Handle<Object> exception,
2474 bool uncaught, 2474 bool uncaught,
2475 Handle<Object> promise) { 2475 Handle<Object> promise) {
2476 // Create the new exception event object. 2476 // Create the new exception event object.
2477 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()), 2477 Handle<Object> argv[] = { isolate_->factory()->NewNumberFromInt(break_id()),
2478 exception, 2478 exception,
2479 isolate_->factory()->ToBoolean(uncaught), 2479 isolate_->factory()->ToBoolean(uncaught),
2480 promise }; 2480 promise };
2481 return MakeJSObject("MakeExceptionEvent", ARRAY_SIZE(argv), argv); 2481 return MakeJSObject("MakeExceptionEvent", arraysize(argv), argv);
2482 } 2482 }
2483 2483
2484 2484
2485 MaybeHandle<Object> Debug::MakeCompileEvent(Handle<Script> script, 2485 MaybeHandle<Object> Debug::MakeCompileEvent(Handle<Script> script,
2486 v8::DebugEvent type) { 2486 v8::DebugEvent type) {
2487 // Create the compile event object. 2487 // Create the compile event object.
2488 Handle<Object> script_wrapper = Script::GetWrapper(script); 2488 Handle<Object> script_wrapper = Script::GetWrapper(script);
2489 Handle<Object> argv[] = { script_wrapper, 2489 Handle<Object> argv[] = { script_wrapper,
2490 isolate_->factory()->NewNumberFromInt(type) }; 2490 isolate_->factory()->NewNumberFromInt(type) };
2491 return MakeJSObject("MakeCompileEvent", ARRAY_SIZE(argv), argv); 2491 return MakeJSObject("MakeCompileEvent", arraysize(argv), argv);
2492 } 2492 }
2493 2493
2494 2494
2495 MaybeHandle<Object> Debug::MakePromiseEvent(Handle<JSObject> event_data) { 2495 MaybeHandle<Object> Debug::MakePromiseEvent(Handle<JSObject> event_data) {
2496 // Create the promise event object. 2496 // Create the promise event object.
2497 Handle<Object> argv[] = { event_data }; 2497 Handle<Object> argv[] = { event_data };
2498 return MakeJSObject("MakePromiseEvent", ARRAY_SIZE(argv), argv); 2498 return MakeJSObject("MakePromiseEvent", arraysize(argv), argv);
2499 } 2499 }
2500 2500
2501 2501
2502 MaybeHandle<Object> Debug::MakeAsyncTaskEvent(Handle<JSObject> task_event) { 2502 MaybeHandle<Object> Debug::MakeAsyncTaskEvent(Handle<JSObject> task_event) {
2503 // Create the async task event object. 2503 // Create the async task event object.
2504 Handle<Object> argv[] = { task_event }; 2504 Handle<Object> argv[] = { task_event };
2505 return MakeJSObject("MakeAsyncTaskEvent", ARRAY_SIZE(argv), argv); 2505 return MakeJSObject("MakeAsyncTaskEvent", arraysize(argv), argv);
2506 } 2506 }
2507 2507
2508 2508
2509 void Debug::OnThrow(Handle<Object> exception, bool uncaught) { 2509 void Debug::OnThrow(Handle<Object> exception, bool uncaught) {
2510 if (in_debug_scope() || ignore_events()) return; 2510 if (in_debug_scope() || ignore_events()) return;
2511 HandleScope scope(isolate_); 2511 HandleScope scope(isolate_);
2512 OnException(exception, uncaught, isolate_->GetPromiseOnStackOnThrow()); 2512 OnException(exception, uncaught, isolate_->GetPromiseOnStackOnThrow());
2513 } 2513 }
2514 2514
2515 2515
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
2641 DCHECK(update_script_break_points->IsJSFunction()); 2641 DCHECK(update_script_break_points->IsJSFunction());
2642 2642
2643 // Wrap the script object in a proper JS object before passing it 2643 // Wrap the script object in a proper JS object before passing it
2644 // to JavaScript. 2644 // to JavaScript.
2645 Handle<Object> wrapper = Script::GetWrapper(script); 2645 Handle<Object> wrapper = Script::GetWrapper(script);
2646 2646
2647 // Call UpdateScriptBreakPoints expect no exceptions. 2647 // Call UpdateScriptBreakPoints expect no exceptions.
2648 Handle<Object> argv[] = { wrapper }; 2648 Handle<Object> argv[] = { wrapper };
2649 if (Execution::TryCall(Handle<JSFunction>::cast(update_script_break_points), 2649 if (Execution::TryCall(Handle<JSFunction>::cast(update_script_break_points),
2650 isolate_->js_builtins_object(), 2650 isolate_->js_builtins_object(),
2651 ARRAY_SIZE(argv), 2651 arraysize(argv),
2652 argv).is_null()) { 2652 argv).is_null()) {
2653 return; 2653 return;
2654 } 2654 }
2655 2655
2656 // Create the compile state object. 2656 // Create the compile state object.
2657 Handle<Object> event_data; 2657 Handle<Object> event_data;
2658 // Bail out and don't call debugger if exception. 2658 // Bail out and don't call debugger if exception.
2659 if (!MakeCompileEvent(script, v8::AfterCompile).ToHandle(&event_data)) return; 2659 if (!MakeCompileEvent(script, v8::AfterCompile).ToHandle(&event_data)) return;
2660 2660
2661 // Process debug event. 2661 // Process debug event.
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
2758 DCHECK(!isolate_->has_scheduled_exception()); 2758 DCHECK(!isolate_->has_scheduled_exception());
2759 } else { 2759 } else {
2760 // Invoke the JavaScript debug event listener. 2760 // Invoke the JavaScript debug event listener.
2761 DCHECK(event_listener_->IsJSFunction()); 2761 DCHECK(event_listener_->IsJSFunction());
2762 Handle<Object> argv[] = { Handle<Object>(Smi::FromInt(event), isolate_), 2762 Handle<Object> argv[] = { Handle<Object>(Smi::FromInt(event), isolate_),
2763 exec_state, 2763 exec_state,
2764 event_data, 2764 event_data,
2765 event_listener_data_ }; 2765 event_listener_data_ };
2766 Handle<JSReceiver> global(isolate_->global_proxy()); 2766 Handle<JSReceiver> global(isolate_->global_proxy());
2767 Execution::TryCall(Handle<JSFunction>::cast(event_listener_), 2767 Execution::TryCall(Handle<JSFunction>::cast(event_listener_),
2768 global, ARRAY_SIZE(argv), argv); 2768 global, arraysize(argv), argv);
2769 } 2769 }
2770 } 2770 }
2771 2771
2772 2772
2773 Handle<Context> Debug::GetDebugContext() { 2773 Handle<Context> Debug::GetDebugContext() {
2774 DebugScope debug_scope(this); 2774 DebugScope debug_scope(this);
2775 // The global handle may be destroyed soon after. Return it reboxed. 2775 // The global handle may be destroyed soon after. Return it reboxed.
2776 return handle(*debug_context(), isolate_); 2776 return handle(*debug_context(), isolate_);
2777 } 2777 }
2778 2778
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
2997 Handle<Object> exec_state; 2997 Handle<Object> exec_state;
2998 if (!MakeExecutionState().ToHandle(&exec_state)) { 2998 if (!MakeExecutionState().ToHandle(&exec_state)) {
2999 return isolate_->factory()->undefined_value(); 2999 return isolate_->factory()->undefined_value();
3000 } 3000 }
3001 3001
3002 Handle<Object> argv[] = { exec_state, data }; 3002 Handle<Object> argv[] = { exec_state, data };
3003 return Execution::Call( 3003 return Execution::Call(
3004 isolate_, 3004 isolate_,
3005 fun, 3005 fun,
3006 Handle<Object>(debug_context()->global_proxy(), isolate_), 3006 Handle<Object>(debug_context()->global_proxy(), isolate_),
3007 ARRAY_SIZE(argv), 3007 arraysize(argv),
3008 argv); 3008 argv);
3009 } 3009 }
3010 3010
3011 3011
3012 void Debug::HandleDebugBreak() { 3012 void Debug::HandleDebugBreak() {
3013 // Ignore debug break during bootstrapping. 3013 // Ignore debug break during bootstrapping.
3014 if (isolate_->bootstrapper()->IsActive()) return; 3014 if (isolate_->bootstrapper()->IsActive()) return;
3015 // Just continue if breaks are disabled. 3015 // Just continue if breaks are disabled.
3016 if (break_disabled_) return; 3016 if (break_disabled_) return;
3017 // Ignore debug break if debugger is not active. 3017 // Ignore debug break if debugger is not active.
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
3358 logger_->DebugEvent("Put", message.text()); 3358 logger_->DebugEvent("Put", message.text());
3359 } 3359 }
3360 3360
3361 3361
3362 void LockingCommandMessageQueue::Clear() { 3362 void LockingCommandMessageQueue::Clear() {
3363 base::LockGuard<base::Mutex> lock_guard(&mutex_); 3363 base::LockGuard<base::Mutex> lock_guard(&mutex_);
3364 queue_.Clear(); 3364 queue_.Clear();
3365 } 3365 }
3366 3366
3367 } } // namespace v8::internal 3367 } } // namespace v8::internal
OLDNEW
« src/base/macros.h ('K') | « src/conversions.cc ('k') | src/deoptimizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698