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 #ifndef V8_DEBUG_DEBUG_H_ | 5 #ifndef V8_DEBUG_DEBUG_H_ |
6 #define V8_DEBUG_DEBUG_H_ | 6 #define V8_DEBUG_DEBUG_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 return is_active() && !debug_context().is_null() && break_id() != 0 && | 487 return is_active() && !debug_context().is_null() && break_id() != 0 && |
488 break_id() == id; | 488 break_id() == id; |
489 } | 489 } |
490 | 490 |
491 // Flags and states. | 491 // Flags and states. |
492 DebugScope* debugger_entry() { | 492 DebugScope* debugger_entry() { |
493 return reinterpret_cast<DebugScope*>( | 493 return reinterpret_cast<DebugScope*>( |
494 base::NoBarrier_Load(&thread_local_.current_debug_scope_)); | 494 base::NoBarrier_Load(&thread_local_.current_debug_scope_)); |
495 } | 495 } |
496 inline Handle<Context> debug_context() { return debug_context_; } | 496 inline Handle<Context> debug_context() { return debug_context_; } |
497 inline Handle<Object> debug_utils() { | |
498 AssertDebugContext(); | |
499 return isolate_->natives_utils_object(); | |
500 } | |
501 | 497 |
502 void set_live_edit_enabled(bool v) { live_edit_enabled_ = v; } | 498 void set_live_edit_enabled(bool v) { live_edit_enabled_ = v; } |
503 bool live_edit_enabled() const { | 499 bool live_edit_enabled() const { |
504 return FLAG_enable_liveedit && live_edit_enabled_ ; | 500 return FLAG_enable_liveedit && live_edit_enabled_ ; |
505 } | 501 } |
506 | 502 |
507 inline bool is_active() const { return is_active_; } | 503 inline bool is_active() const { return is_active_; } |
508 inline bool is_loaded() const { return !debug_context_.is_null(); } | 504 inline bool is_loaded() const { return !debug_context_.is_null(); } |
509 inline bool in_debug_scope() const { | 505 inline bool in_debug_scope() const { |
510 return !!base::NoBarrier_Load(&thread_local_.current_debug_scope_); | 506 return !!base::NoBarrier_Load(&thread_local_.current_debug_scope_); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 // Check whether there are commands in the command queue. | 542 // Check whether there are commands in the command queue. |
547 inline bool has_commands() const { return !command_queue_.IsEmpty(); } | 543 inline bool has_commands() const { return !command_queue_.IsEmpty(); } |
548 inline bool ignore_events() const { return is_suppressed_ || !is_active_; } | 544 inline bool ignore_events() const { return is_suppressed_ || !is_active_; } |
549 inline bool break_disabled() const { | 545 inline bool break_disabled() const { |
550 return break_disabled_ || in_debug_event_listener_; | 546 return break_disabled_ || in_debug_event_listener_; |
551 } | 547 } |
552 | 548 |
553 void OnException(Handle<Object> exception, Handle<Object> promise); | 549 void OnException(Handle<Object> exception, Handle<Object> promise); |
554 | 550 |
555 // Constructors for debug event objects. | 551 // Constructors for debug event objects. |
556 MUST_USE_RESULT MaybeHandle<Object> MakeJSObject( | |
557 const char* constructor_name, | |
558 int argc, | |
559 Handle<Object> argv[]); | |
560 MUST_USE_RESULT MaybeHandle<Object> MakeExecutionState(); | 552 MUST_USE_RESULT MaybeHandle<Object> MakeExecutionState(); |
561 MUST_USE_RESULT MaybeHandle<Object> MakeBreakEvent( | 553 MUST_USE_RESULT MaybeHandle<Object> MakeBreakEvent( |
562 Handle<Object> break_points_hit); | 554 Handle<Object> break_points_hit); |
563 MUST_USE_RESULT MaybeHandle<Object> MakeExceptionEvent( | 555 MUST_USE_RESULT MaybeHandle<Object> MakeExceptionEvent( |
564 Handle<Object> exception, | 556 Handle<Object> exception, |
565 bool uncaught, | 557 bool uncaught, |
566 Handle<Object> promise); | 558 Handle<Object> promise); |
567 MUST_USE_RESULT MaybeHandle<Object> MakeCompileEvent( | 559 MUST_USE_RESULT MaybeHandle<Object> MakeCompileEvent( |
568 Handle<Script> script, v8::DebugEvent type); | 560 Handle<Script> script, v8::DebugEvent type); |
569 MUST_USE_RESULT MaybeHandle<Object> MakePromiseEvent( | 561 MUST_USE_RESULT MaybeHandle<Object> MakePromiseEvent( |
(...skipping 23 matching lines...) Expand all Loading... |
593 void InvokeMessageHandler(MessageImpl message); | 585 void InvokeMessageHandler(MessageImpl message); |
594 | 586 |
595 void ClearOneShot(); | 587 void ClearOneShot(); |
596 void ActivateStepIn(StackFrame* frame); | 588 void ActivateStepIn(StackFrame* frame); |
597 void ClearStepIn(); | 589 void ClearStepIn(); |
598 void ActivateStepOut(StackFrame* frame); | 590 void ActivateStepOut(StackFrame* frame); |
599 void ClearStepNext(); | 591 void ClearStepNext(); |
600 void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); | 592 void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); |
601 Handle<Object> CheckBreakPoints(Handle<Object> break_point); | 593 Handle<Object> CheckBreakPoints(Handle<Object> break_point); |
602 bool CheckBreakPoint(Handle<Object> break_point_object); | 594 bool CheckBreakPoint(Handle<Object> break_point_object); |
| 595 MaybeHandle<Object> CallFunction(const char* name, int argc, |
| 596 Handle<Object> args[]); |
603 | 597 |
604 inline void AssertDebugContext() { | 598 inline void AssertDebugContext() { |
605 DCHECK(isolate_->context() == *debug_context()); | 599 DCHECK(isolate_->context() == *debug_context()); |
606 DCHECK(in_debug_scope()); | 600 DCHECK(in_debug_scope()); |
607 } | 601 } |
608 | 602 |
609 void ThreadInit(); | 603 void ThreadInit(); |
610 | 604 |
611 // Global handles. | 605 // Global handles. |
612 Handle<Context> debug_context_; | 606 Handle<Context> debug_context_; |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 int call_argc = -1); | 784 int call_argc = -1); |
791 | 785 |
792 static void PatchDebugBreakSlot(Address pc, Handle<Code> code); | 786 static void PatchDebugBreakSlot(Address pc, Handle<Code> code); |
793 static void ClearDebugBreakSlot(Address pc); | 787 static void ClearDebugBreakSlot(Address pc); |
794 }; | 788 }; |
795 | 789 |
796 | 790 |
797 } } // namespace v8::internal | 791 } } // namespace v8::internal |
798 | 792 |
799 #endif // V8_DEBUG_DEBUG_H_ | 793 #endif // V8_DEBUG_DEBUG_H_ |
OLD | NEW |