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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 BreakPositionAlignment alignment); | 76 BreakPositionAlignment alignment); |
77 | 77 |
78 bool IsDebugBreak() const; | 78 bool IsDebugBreak() const; |
79 | 79 |
80 inline bool IsReturn() const { | 80 inline bool IsReturn() const { |
81 return RelocInfo::IsDebugBreakSlotAtReturn(rmode_); | 81 return RelocInfo::IsDebugBreakSlotAtReturn(rmode_); |
82 } | 82 } |
83 inline bool IsCall() const { | 83 inline bool IsCall() const { |
84 return RelocInfo::IsDebugBreakSlotAtCall(rmode_); | 84 return RelocInfo::IsDebugBreakSlotAtCall(rmode_); |
85 } | 85 } |
86 inline bool IsConstructCall() const { | |
87 return RelocInfo::IsDebugBreakSlotAtConstructCall(rmode_); | |
88 } | |
89 inline int CallArgumentsCount() const { | |
90 DCHECK(IsStepInLocation()); | |
91 return RelocInfo::DebugBreakCallArgumentsCount(data_); | |
92 } | |
93 | |
94 bool IsStepInLocation() const; | |
95 inline bool HasBreakPoint() const { | 86 inline bool HasBreakPoint() const { |
96 return debug_info_->HasBreakPoint(pc_offset_); | 87 return debug_info_->HasBreakPoint(pc_offset_); |
97 } | 88 } |
98 | 89 |
99 Handle<Object> BreakPointObjects() const; | 90 Handle<Object> BreakPointObjects() const; |
100 | 91 |
101 void SetBreakPoint(Handle<Object> break_point_object); | 92 void SetBreakPoint(Handle<Object> break_point_object); |
102 void ClearBreakPoint(Handle<Object> break_point_object); | 93 void ClearBreakPoint(Handle<Object> break_point_object); |
103 | 94 |
104 void SetOneShot(); | 95 void SetOneShot(); |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 | 759 |
769 static void GeneratePlainReturnLiveEdit(MacroAssembler* masm); | 760 static void GeneratePlainReturnLiveEdit(MacroAssembler* masm); |
770 | 761 |
771 // FrameDropper is a code replacement for a JavaScript frame with possibly | 762 // FrameDropper is a code replacement for a JavaScript frame with possibly |
772 // several frames above. | 763 // several frames above. |
773 // There is no calling conventions here, because it never actually gets | 764 // There is no calling conventions here, because it never actually gets |
774 // called, it only gets returned to. | 765 // called, it only gets returned to. |
775 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); | 766 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); |
776 | 767 |
777 | 768 |
778 static void GenerateSlot(MacroAssembler* masm, RelocInfo::Mode mode, | 769 static void GenerateSlot(MacroAssembler* masm, RelocInfo::Mode mode); |
779 int call_argc = -1); | |
780 | 770 |
781 static void PatchDebugBreakSlot(Isolate* isolate, Address pc, | 771 static void PatchDebugBreakSlot(Isolate* isolate, Address pc, |
782 Handle<Code> code); | 772 Handle<Code> code); |
783 static void ClearDebugBreakSlot(Isolate* isolate, Address pc); | 773 static void ClearDebugBreakSlot(Isolate* isolate, Address pc); |
784 }; | 774 }; |
785 | 775 |
786 | 776 |
787 } // namespace internal | 777 } // namespace internal |
788 } // namespace v8 | 778 } // namespace v8 |
789 | 779 |
790 #endif // V8_DEBUG_DEBUG_H_ | 780 #endif // V8_DEBUG_DEBUG_H_ |
OLD | NEW |