diff options
author | Refael Ackermann <refack@gmail.com> | 2014-09-29 13:20:04 +0400 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-10-08 15:44:38 +0400 |
commit | 9116b240c924d37627313416b7ee038d0580afbc (patch) | |
tree | 86c586915a96d308b1b04de679a8ae293caf3e41 /deps/v8/src/d8-debug.h | |
parent | a2a3fd48934f36d94575dd33d2a2cb732f937f77 (diff) | |
download | node-9116b240c924d37627313416b7ee038d0580afbc.tar.gz |
deps: update v8 to 3.28.73
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8476
Diffstat (limited to 'deps/v8/src/d8-debug.h')
-rw-r--r-- | deps/v8/src/d8-debug.h | 117 |
1 files changed, 2 insertions, 115 deletions
diff --git a/deps/v8/src/d8-debug.h b/deps/v8/src/d8-debug.h index c211be759..1a693cc86 100644 --- a/deps/v8/src/d8-debug.h +++ b/deps/v8/src/d8-debug.h @@ -6,127 +6,14 @@ #define V8_D8_DEBUG_H_ -#include "d8.h" -#include "debug.h" -#include "platform/socket.h" +#include "src/d8.h" +#include "src/debug.h" namespace v8 { - void HandleDebugEvent(const Debug::EventDetails& event_details); -// Start the remove debugger connecting to a V8 debugger agent on the specified -// port. -void RunRemoteDebugger(Isolate* isolate, int port); - -// Forward declerations. -class RemoteDebuggerEvent; -class ReceiverThread; - - -// Remote debugging class. -class RemoteDebugger { - public: - explicit RemoteDebugger(Isolate* isolate, int port) - : isolate_(isolate), - port_(port), - event_available_(0), - head_(NULL), tail_(NULL) {} - void Run(); - - // Handle events from the subordinate threads. - void MessageReceived(i::SmartArrayPointer<char> message); - void KeyboardCommand(i::SmartArrayPointer<char> command); - void ConnectionClosed(); - - private: - // Add new debugger event to the list. - void AddEvent(RemoteDebuggerEvent* event); - // Read next debugger event from the list. - RemoteDebuggerEvent* GetEvent(); - - // Handle a message from the debugged V8. - void HandleMessageReceived(char* message); - // Handle a keyboard command. - void HandleKeyboardCommand(char* command); - - // Get connection to agent in debugged V8. - i::Socket* conn() { return conn_; } - - Isolate* isolate_; - int port_; // Port used to connect to debugger V8. - i::Socket* conn_; // Connection to debugger agent in debugged V8. - - // Linked list of events from debugged V8 and from keyboard input. Access to - // the list is guarded by a mutex and a semaphore signals new items in the - // list. - i::Mutex event_access_; - i::Semaphore event_available_; - RemoteDebuggerEvent* head_; - RemoteDebuggerEvent* tail_; - - friend class ReceiverThread; -}; - - -// Thread reading from debugged V8 instance. -class ReceiverThread: public i::Thread { - public: - explicit ReceiverThread(RemoteDebugger* remote_debugger) - : Thread("d8:ReceiverThrd"), - remote_debugger_(remote_debugger) {} - ~ReceiverThread() {} - - void Run(); - - private: - RemoteDebugger* remote_debugger_; -}; - - -// Thread reading keyboard input. -class KeyboardThread: public i::Thread { - public: - explicit KeyboardThread(RemoteDebugger* remote_debugger) - : Thread("d8:KeyboardThrd"), - remote_debugger_(remote_debugger) {} - ~KeyboardThread() {} - - void Run(); - - private: - RemoteDebugger* remote_debugger_; -}; - - -// Events processed by the main deubgger thread. -class RemoteDebuggerEvent { - public: - RemoteDebuggerEvent(int type, i::SmartArrayPointer<char> data) - : type_(type), data_(data), next_(NULL) { - ASSERT(type == kMessage || type == kKeyboard || type == kDisconnect); - } - - static const int kMessage = 1; - static const int kKeyboard = 2; - static const int kDisconnect = 3; - - int type() { return type_; } - char* data() { return data_.get(); } - - private: - void set_next(RemoteDebuggerEvent* event) { next_ = event; } - RemoteDebuggerEvent* next() { return next_; } - - int type_; - i::SmartArrayPointer<char> data_; - RemoteDebuggerEvent* next_; - - friend class RemoteDebugger; -}; - - } // namespace v8 |