Merge r1718 to trunk.
Review URL: http://codereview.chromium.org/79019
git-svn-id: http://v8.googlecode.com/svn/trunk@1730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/debug.cc b/src/debug.cc
index 1374c15..a4bb04d 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -1825,6 +1825,9 @@
Debugger::host_dispatch_handler_(reinterpret_cast<void*>(dispatch),
Debugger::host_dispatch_handler_data_);
}
+ if (auto_continue && !HasCommands()) {
+ return;
+ }
continue;
}
@@ -2030,6 +2033,8 @@
Logger::DebugTag("Put command on command_queue.");
command_queue_.Put(command_copy);
command_received_->Signal();
+
+ // Set the debug command break flag to have the command processed.
if (!Debug::InDebugger()) {
StackGuard::DebugCommand();
}
@@ -2042,7 +2047,7 @@
void Debugger::ProcessHostDispatch(void* dispatch) {
-// Puts a host dispatch comming from the public API on the queue.
+ // Puts a host dispatch comming from the public API on the queue.
uint16_t hack[3];
hack[0] = 0;
hack[1] = reinterpret_cast<uint32_t>(dispatch) >> 16;
@@ -2050,6 +2055,11 @@
Logger::DebugTag("Put dispatch on command_queue.");
command_queue_.Put(Vector<uint16_t>(hack, 3).Clone());
command_received_->Signal();
+
+ // Set the debug command break flag to have the host dispatch processed.
+ if (!Debug::InDebugger()) {
+ StackGuard::DebugCommand();
+ }
}