Chromium Code Reviews| 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 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 517 inline bool is_loaded() const { return !debug_context_.is_null(); } | 517 inline bool is_loaded() const { return !debug_context_.is_null(); } |
| 518 inline bool in_debug_scope() const { | 518 inline bool in_debug_scope() const { |
| 519 return !!base::NoBarrier_Load(&thread_local_.current_debug_scope_); | 519 return !!base::NoBarrier_Load(&thread_local_.current_debug_scope_); |
| 520 } | 520 } |
| 521 void set_break_points_active(bool v) { break_points_active_ = v; } | 521 void set_break_points_active(bool v) { break_points_active_ = v; } |
| 522 bool break_points_active() const { return break_points_active_; } | 522 bool break_points_active() const { return break_points_active_; } |
| 523 | 523 |
| 524 StackFrame::Id break_frame_id() { return thread_local_.break_frame_id_; } | 524 StackFrame::Id break_frame_id() { return thread_local_.break_frame_id_; } |
| 525 int break_id() { return thread_local_.break_id_; } | 525 int break_id() { return thread_local_.break_id_; } |
| 526 | 526 |
| 527 Handle<Object> get_return_value() { return thread_local_.return_value_; } | |
| 528 | |
| 527 // Support for embedding into generated code. | 529 // Support for embedding into generated code. |
| 528 Address is_active_address() { | 530 Address is_active_address() { |
| 529 return reinterpret_cast<Address>(&is_active_); | 531 return reinterpret_cast<Address>(&is_active_); |
| 530 } | 532 } |
| 531 | 533 |
| 532 Address after_break_target_address() { | 534 Address after_break_target_address() { |
| 533 return reinterpret_cast<Address>(&after_break_target_); | 535 return reinterpret_cast<Address>(&after_break_target_); |
| 534 } | 536 } |
| 535 | 537 |
| 536 Address step_in_enabled_address() { | 538 Address step_in_enabled_address() { |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 671 Address target_fp_; | 673 Address target_fp_; |
| 672 | 674 |
| 673 // Whether functions are flooded on entry for step-in and step-frame. | 675 // Whether functions are flooded on entry for step-in and step-frame. |
| 674 // If we stepped out to the embedder, disable flooding to spill stepping | 676 // If we stepped out to the embedder, disable flooding to spill stepping |
| 675 // to the next call that the embedder makes. | 677 // to the next call that the embedder makes. |
| 676 bool step_in_enabled_; | 678 bool step_in_enabled_; |
| 677 | 679 |
| 678 // Stores the way how LiveEdit has patched the stack. It is used when | 680 // Stores the way how LiveEdit has patched the stack. It is used when |
| 679 // debugger returns control back to user script. | 681 // debugger returns control back to user script. |
| 680 LiveEdit::FrameDropMode frame_drop_mode_; | 682 LiveEdit::FrameDropMode frame_drop_mode_; |
| 683 | |
| 684 // Value of accumulator in interpreter frames. In non-interpreter frames | |
| 685 // this value will be a hole. | |
|
rmcilroy
2016/03/22 11:32:34
/s/a hole/the hole/
mythria
2016/03/22 12:08:09
Done.
| |
| 686 Handle<Object> return_value_; | |
| 681 }; | 687 }; |
| 682 | 688 |
| 683 // Storage location for registers when handling debug break calls | 689 // Storage location for registers when handling debug break calls |
| 684 ThreadLocal thread_local_; | 690 ThreadLocal thread_local_; |
| 685 | 691 |
| 686 Isolate* isolate_; | 692 Isolate* isolate_; |
| 687 | 693 |
| 688 friend class Isolate; | 694 friend class Isolate; |
| 689 friend class DebugScope; | 695 friend class DebugScope; |
| 690 friend class DisableBreak; | 696 friend class DisableBreak; |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 712 // Get the active context from before entering the debugger. | 718 // Get the active context from before entering the debugger. |
| 713 inline Handle<Context> GetContext() { return save_.context(); } | 719 inline Handle<Context> GetContext() { return save_.context(); } |
| 714 | 720 |
| 715 private: | 721 private: |
| 716 Isolate* isolate() { return debug_->isolate_; } | 722 Isolate* isolate() { return debug_->isolate_; } |
| 717 | 723 |
| 718 Debug* debug_; | 724 Debug* debug_; |
| 719 DebugScope* prev_; // Previous scope if entered recursively. | 725 DebugScope* prev_; // Previous scope if entered recursively. |
| 720 StackFrame::Id break_frame_id_; // Previous break frame id. | 726 StackFrame::Id break_frame_id_; // Previous break frame id. |
| 721 int break_id_; // Previous break id. | 727 int break_id_; // Previous break id. |
| 728 Handle<Object> return_value_; // Previous result. | |
| 722 bool failed_; // Did the debug context fail to load? | 729 bool failed_; // Did the debug context fail to load? |
| 723 SaveContext save_; // Saves previous context. | 730 SaveContext save_; // Saves previous context. |
| 724 PostponeInterruptsScope no_termination_exceptons_; | 731 PostponeInterruptsScope no_termination_exceptons_; |
| 725 }; | 732 }; |
| 726 | 733 |
| 727 | 734 |
| 728 // Stack allocated class for disabling break. | 735 // Stack allocated class for disabling break. |
| 729 class DisableBreak BASE_EMBEDDED { | 736 class DisableBreak BASE_EMBEDDED { |
| 730 public: | 737 public: |
| 731 explicit DisableBreak(Debug* debug, bool disable_break) | 738 explicit DisableBreak(Debug* debug, bool disable_break) |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 787 Handle<Code> code); | 794 Handle<Code> code); |
| 788 static bool DebugBreakSlotIsPatched(Address pc); | 795 static bool DebugBreakSlotIsPatched(Address pc); |
| 789 static void ClearDebugBreakSlot(Isolate* isolate, Address pc); | 796 static void ClearDebugBreakSlot(Isolate* isolate, Address pc); |
| 790 }; | 797 }; |
| 791 | 798 |
| 792 | 799 |
| 793 } // namespace internal | 800 } // namespace internal |
| 794 } // namespace v8 | 801 } // namespace v8 |
| 795 | 802 |
| 796 #endif // V8_DEBUG_DEBUG_H_ | 803 #endif // V8_DEBUG_DEBUG_H_ |
| OLD | NEW |