Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Unified Diff: src/debug.cc

Issue 279423004: Remove DebuggerAgent. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: remove some more includes. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/debug.h ('k') | src/debug-agent.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/debug.cc
diff --git a/src/debug.cc b/src/debug.cc
index 6adb38a17ceaa9c89903beb658fd1c6c1fbcac31..1f87595f5fc568f7f8b3213d9f2710afa5818dce 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -2632,9 +2632,6 @@ Debugger::Debugger(Isolate* isolate)
never_unload_debugger_(false),
message_handler_(NULL),
debugger_unload_pending_(false),
- debug_message_dispatch_handler_(NULL),
- message_dispatch_helper_thread_(NULL),
- agent_(NULL),
command_queue_(isolate->logger(), kQueueInitialSize),
command_received_(0),
event_command_queue_(isolate->logger(), kQueueInitialSize),
@@ -3189,7 +3186,7 @@ void Debugger::SetMessageHandler(v8::Debug::MessageHandler2 handler) {
// Send an empty command to the debugger if in a break to make JavaScript
// run again if the debugger is closed.
if (isolate_->debug()->InDebugger()) {
- ProcessCommand(Vector<const uint16_t>::empty());
+ EnqueueCommandMessage(Vector<const uint16_t>::empty());
}
}
}
@@ -3211,18 +3208,6 @@ void Debugger::ListenersChanged() {
}
-void Debugger::SetDebugMessageDispatchHandler(
- v8::Debug::DebugMessageDispatchHandler handler, bool provide_locker) {
- LockGuard<Mutex> lock_guard(&dispatch_handler_access_);
- debug_message_dispatch_handler_ = handler;
-
- if (provide_locker && message_dispatch_helper_thread_ == NULL) {
- message_dispatch_helper_thread_ = new MessageDispatchHelperThread(isolate_);
- message_dispatch_helper_thread_->Start();
- }
-}
-
-
// Calls the registered debug message handler. This callback is part of the
// public API.
void Debugger::InvokeMessageHandler(MessageImpl message) {
@@ -3238,8 +3223,8 @@ void Debugger::InvokeMessageHandler(MessageImpl message) {
// a copy of the command string managed by the debugger. Up to this
// point, the command data was managed by the API client. Called
// by the API client thread.
-void Debugger::ProcessCommand(Vector<const uint16_t> command,
- v8::Debug::ClientData* client_data) {
+void Debugger::EnqueueCommandMessage(Vector<const uint16_t> command,
+ v8::Debug::ClientData* client_data) {
// Need to cast away const.
CommandMessage message = CommandMessage::New(
Vector<uint16_t>(const_cast<uint16_t*>(command.start()),
@@ -3253,18 +3238,6 @@ void Debugger::ProcessCommand(Vector<const uint16_t> command,
if (!isolate_->debug()->InDebugger()) {
isolate_->stack_guard()->RequestDebugCommand();
}
-
- MessageDispatchHelperThread* dispatch_thread;
- {
- LockGuard<Mutex> lock_guard(&dispatch_handler_access_);
- dispatch_thread = message_dispatch_helper_thread_;
- }
-
- if (dispatch_thread == NULL) {
- CallMessageDispatchHandler();
- } else {
- dispatch_thread->Schedule();
- }
}
@@ -3312,60 +3285,6 @@ MaybeHandle<Object> Debugger::Call(Handle<JSFunction> fun,
}
-static void StubMessageHandler2(const v8::Debug::Message& message) {
- // Simply ignore message.
-}
-
-
-bool Debugger::StartAgent(const char* name, int port,
- bool wait_for_connection) {
- if (wait_for_connection) {
- // Suspend V8 if it is already running or set V8 to suspend whenever
- // it starts.
- // Provide stub message handler; V8 auto-continues each suspend
- // when there is no message handler; we doesn't need it.
- // Once become suspended, V8 will stay so indefinitely long, until remote
- // debugger connects and issues "continue" command.
- Debugger::message_handler_ = StubMessageHandler2;
- v8::Debug::DebugBreak(reinterpret_cast<v8::Isolate*>(isolate_));
- }
-
- if (agent_ == NULL) {
- agent_ = new DebuggerAgent(isolate_, name, port);
- agent_->Start();
- }
- return true;
-}
-
-
-void Debugger::StopAgent() {
- if (agent_ != NULL) {
- agent_->Shutdown();
- agent_->Join();
- delete agent_;
- agent_ = NULL;
- }
-}
-
-
-void Debugger::WaitForAgent() {
- if (agent_ != NULL)
- agent_->WaitUntilListening();
-}
-
-
-void Debugger::CallMessageDispatchHandler() {
- v8::Debug::DebugMessageDispatchHandler handler;
- {
- LockGuard<Mutex> lock_guard(&dispatch_handler_access_);
- handler = Debugger::debug_message_dispatch_handler_;
- }
- if (handler != NULL) {
- handler();
- }
-}
-
-
EnterDebugger::EnterDebugger(Isolate* isolate)
: isolate_(isolate),
prev_(isolate_->debug()->debugger_entry()),
@@ -3703,38 +3622,4 @@ void LockingCommandMessageQueue::Clear() {
queue_.Clear();
}
-
-MessageDispatchHelperThread::MessageDispatchHelperThread(Isolate* isolate)
- : Thread("v8:MsgDispHelpr"),
- isolate_(isolate), sem_(0),
- already_signalled_(false) {
-}
-
-
-void MessageDispatchHelperThread::Schedule() {
- {
- LockGuard<Mutex> lock_guard(&mutex_);
- if (already_signalled_) {
- return;
- }
- already_signalled_ = true;
- }
- sem_.Signal();
-}
-
-
-void MessageDispatchHelperThread::Run() {
- while (true) {
- sem_.Wait();
- {
- LockGuard<Mutex> lock_guard(&mutex_);
- already_signalled_ = false;
- }
- {
- Locker locker(reinterpret_cast<v8::Isolate*>(isolate_));
- isolate_->debugger()->CallMessageDispatchHandler();
- }
- }
-}
-
} } // namespace v8::internal
« no previous file with comments | « src/debug.h ('k') | src/debug-agent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698