| 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_H_ | 5 #ifndef V8_DEBUG_H_ |
| 6 #define V8_DEBUG_H_ | 6 #define V8_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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 BreakLocatorType type, Address pc, | 73 BreakLocatorType type, Address pc, |
| 74 List<BreakLocation>* result_out); | 74 List<BreakLocation>* result_out); |
| 75 | 75 |
| 76 static BreakLocation FromPosition(Handle<DebugInfo> debug_info, | 76 static BreakLocation FromPosition(Handle<DebugInfo> debug_info, |
| 77 BreakLocatorType type, int position, | 77 BreakLocatorType type, int position, |
| 78 BreakPositionAlignment alignment); | 78 BreakPositionAlignment alignment); |
| 79 | 79 |
| 80 bool IsDebugBreak() const; | 80 bool IsDebugBreak() const; |
| 81 inline bool IsExit() const { return RelocInfo::IsJSReturn(rmode_); } | 81 inline bool IsExit() const { return RelocInfo::IsJSReturn(rmode_); } |
| 82 inline bool IsCall() const { | 82 inline bool IsCall() const { |
| 83 return IsDebugBreakSlot() && RelocInfo::DebugBreakIsCall(data_); | 83 return RelocInfo::IsDebugBreakSlotAtCall(rmode_); |
| 84 } | 84 } |
| 85 inline bool IsConstructCall() const { | 85 inline bool IsConstructCall() const { |
| 86 return IsDebugBreakSlot() && RelocInfo::DebugBreakIsConstructCall(data_); | 86 return RelocInfo::IsDebugBreakSlotAtConstructCall(rmode_); |
| 87 } | 87 } |
| 88 inline int CallArgumentsCount() const { | 88 inline int CallArgumentsCount() const { |
| 89 DCHECK(IsCall()); | 89 DCHECK(IsCall()); |
| 90 return RelocInfo::DebugBreakCallArgumentsCount(data_); | 90 return RelocInfo::DebugBreakCallArgumentsCount(data_); |
| 91 } | 91 } |
| 92 | 92 |
| 93 bool IsStepInLocation() const; | 93 bool IsStepInLocation() const; |
| 94 inline bool HasBreakPoint() const { | 94 inline bool HasBreakPoint() const { |
| 95 return debug_info_->HasBreakPoint(pc_offset_); | 95 return debug_info_->HasBreakPoint(pc_offset_); |
| 96 } | 96 } |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 inline RelocInfo* original_rinfo() { | 146 inline RelocInfo* original_rinfo() { |
| 147 return reloc_iterator_original_.rinfo(); | 147 return reloc_iterator_original_.rinfo(); |
| 148 } | 148 } |
| 149 | 149 |
| 150 inline Address pc() { return rinfo()->pc(); } | 150 inline Address pc() { return rinfo()->pc(); } |
| 151 int break_index() const { return break_index_; } | 151 int break_index() const { return break_index_; } |
| 152 inline int position() const { return position_; } | 152 inline int position() const { return position_; } |
| 153 inline int statement_position() const { return statement_position_; } | 153 inline int statement_position() const { return statement_position_; } |
| 154 | 154 |
| 155 private: | 155 private: |
| 156 static int GetModeMask(BreakLocatorType type); |
| 157 |
| 156 bool RinfoDone() const; | 158 bool RinfoDone() const; |
| 157 void RinfoNext(); | 159 void RinfoNext(); |
| 158 | 160 |
| 159 Handle<DebugInfo> debug_info_; | 161 Handle<DebugInfo> debug_info_; |
| 160 BreakLocatorType type_; | |
| 161 RelocIterator reloc_iterator_; | 162 RelocIterator reloc_iterator_; |
| 162 RelocIterator reloc_iterator_original_; | 163 RelocIterator reloc_iterator_original_; |
| 163 int break_index_; | 164 int break_index_; |
| 164 int position_; | 165 int position_; |
| 165 int statement_position_; | 166 int statement_position_; |
| 166 | 167 |
| 167 DisallowHeapAllocation no_gc_; | 168 DisallowHeapAllocation no_gc_; |
| 168 | 169 |
| 169 DISALLOW_COPY_AND_ASSIGN(Iterator); | 170 DISALLOW_COPY_AND_ASSIGN(Iterator); |
| 170 }; | 171 }; |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 811 | 812 |
| 812 private: | 813 private: |
| 813 static void RecordRelocInfo(MacroAssembler* masm, SlotLocation location, | 814 static void RecordRelocInfo(MacroAssembler* masm, SlotLocation location, |
| 814 int call_argc); | 815 int call_argc); |
| 815 }; | 816 }; |
| 816 | 817 |
| 817 | 818 |
| 818 } } // namespace v8::internal | 819 } } // namespace v8::internal |
| 819 | 820 |
| 820 #endif // V8_DEBUG_H_ | 821 #endif // V8_DEBUG_H_ |
| OLD | NEW |