| 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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 | 254 |
| 255 Isolate* isolate_; | 255 Isolate* isolate_; |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 | 258 |
| 259 // Linked list holding debug info objects. The debug info objects are kept as | 259 // Linked list holding debug info objects. The debug info objects are kept as |
| 260 // weak handles to avoid a debug info object to keep a function alive. | 260 // weak handles to avoid a debug info object to keep a function alive. |
| 261 class DebugInfoListNode { | 261 class DebugInfoListNode { |
| 262 public: | 262 public: |
| 263 explicit DebugInfoListNode(DebugInfo* debug_info); | 263 explicit DebugInfoListNode(DebugInfo* debug_info); |
| 264 virtual ~DebugInfoListNode(); | 264 virtual ~DebugInfoListNode() { ClearInfo(); } |
| 265 | 265 |
| 266 DebugInfoListNode* next() { return next_; } | 266 DebugInfoListNode* next() { return next_; } |
| 267 void set_next(DebugInfoListNode* next) { next_ = next; } | 267 void set_next(DebugInfoListNode* next) { next_ = next; } |
| 268 Handle<DebugInfo> debug_info() { return debug_info_; } | 268 Handle<DebugInfo> debug_info() { return Handle<DebugInfo>(debug_info_); } |
| 269 |
| 270 void ClearInfo(); |
| 269 | 271 |
| 270 private: | 272 private: |
| 271 // Global (weak) handle to the debug info object. | 273 // Global (weak) handle to the debug info object. |
| 272 Handle<DebugInfo> debug_info_; | 274 DebugInfo** debug_info_; |
| 273 | 275 |
| 274 // Next pointer for linked list. | 276 // Next pointer for linked list. |
| 275 DebugInfoListNode* next_; | 277 DebugInfoListNode* next_; |
| 276 }; | 278 }; |
| 277 | 279 |
| 278 | 280 |
| 279 | 281 |
| 280 // Message delivered to the message handler callback. This is either a debugger | 282 // Message delivered to the message handler callback. This is either a debugger |
| 281 // event or the response to a command. | 283 // event or the response to a command. |
| 282 class MessageImpl: public v8::Debug::Message { | 284 class MessageImpl: public v8::Debug::Message { |
| (...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 840 // several frames above. | 842 // several frames above. |
| 841 // There is no calling conventions here, because it never actually gets | 843 // There is no calling conventions here, because it never actually gets |
| 842 // called, it only gets returned to. | 844 // called, it only gets returned to. |
| 843 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); | 845 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); |
| 844 }; | 846 }; |
| 845 | 847 |
| 846 | 848 |
| 847 } } // namespace v8::internal | 849 } } // namespace v8::internal |
| 848 | 850 |
| 849 #endif // V8_DEBUG_H_ | 851 #endif // V8_DEBUG_H_ |
| OLD | NEW |