OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 int break_point_; | 125 int break_point_; |
126 int position_; | 126 int position_; |
127 int statement_position_; | 127 int statement_position_; |
128 Handle<DebugInfo> debug_info_; | 128 Handle<DebugInfo> debug_info_; |
129 RelocIterator* reloc_iterator_; | 129 RelocIterator* reloc_iterator_; |
130 RelocIterator* reloc_iterator_original_; | 130 RelocIterator* reloc_iterator_original_; |
131 | 131 |
132 private: | 132 private: |
133 void SetDebugBreak(); | 133 void SetDebugBreak(); |
134 void ClearDebugBreak(); | 134 void ClearDebugBreak(); |
| 135 |
| 136 void SetDebugBreakAtIC(); |
| 137 void ClearDebugBreakAtIC(); |
| 138 |
135 bool IsDebugBreakAtReturn(); | 139 bool IsDebugBreakAtReturn(); |
136 void SetDebugBreakAtReturn(); | 140 void SetDebugBreakAtReturn(); |
137 void ClearDebugBreakAtReturn(); | 141 void ClearDebugBreakAtReturn(); |
138 | 142 |
139 DISALLOW_COPY_AND_ASSIGN(BreakLocationIterator); | 143 DISALLOW_COPY_AND_ASSIGN(BreakLocationIterator); |
140 }; | 144 }; |
141 | 145 |
142 | 146 |
143 // Linked list holding debug info objects. The debug info objects are kept as | 147 // Linked list holding debug info objects. The debug info objects are kept as |
144 // weak handles to avoid a debug info object to keep a function alive. | 148 // weak handles to avoid a debug info object to keep a function alive. |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 | 202 |
199 static bool IsDebugBreak(Address addr); | 203 static bool IsDebugBreak(Address addr); |
200 static bool IsDebugBreakAtReturn(RelocInfo* rinfo); | 204 static bool IsDebugBreakAtReturn(RelocInfo* rinfo); |
201 | 205 |
202 // Check whether a code stub with the specified major key is a possible break | 206 // Check whether a code stub with the specified major key is a possible break |
203 // point location. | 207 // point location. |
204 static bool IsSourceBreakStub(Code* code); | 208 static bool IsSourceBreakStub(Code* code); |
205 static bool IsBreakStub(Code* code); | 209 static bool IsBreakStub(Code* code); |
206 | 210 |
207 // Find the builtin to use for invoking the debug break | 211 // Find the builtin to use for invoking the debug break |
208 static Handle<Code> FindDebugBreak(RelocInfo* rinfo); | 212 static Handle<Code> FindDebugBreak(Handle<Code> code, RelocInfo::Mode mode); |
209 | 213 |
210 static Handle<Object> GetSourceBreakLocations( | 214 static Handle<Object> GetSourceBreakLocations( |
211 Handle<SharedFunctionInfo> shared); | 215 Handle<SharedFunctionInfo> shared); |
212 | 216 |
213 // Getter for the debug_context. | 217 // Getter for the debug_context. |
214 inline static Handle<Context> debug_context() { return debug_context_; } | 218 inline static Handle<Context> debug_context() { return debug_context_; } |
215 | 219 |
216 // Check whether a global object is the debug global object. | 220 // Check whether a global object is the debug global object. |
217 static bool IsDebugGlobal(GlobalObject* global); | 221 static bool IsDebugGlobal(GlobalObject* global); |
218 | 222 |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 Debug::AddressId id_; | 748 Debug::AddressId id_; |
745 int reg_; | 749 int reg_; |
746 }; | 750 }; |
747 | 751 |
748 | 752 |
749 } } // namespace v8::internal | 753 } } // namespace v8::internal |
750 | 754 |
751 #endif // ENABLE_DEBUGGER_SUPPORT | 755 #endif // ENABLE_DEBUGGER_SUPPORT |
752 | 756 |
753 #endif // V8_V8_DEBUG_H_ | 757 #endif // V8_V8_DEBUG_H_ |
OLD | NEW |