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

Side by Side Diff: src/debug.cc

Issue 684573005: Prevent recursion in the debug event listener. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | test/mjsunit/regress/regress-crbug-409614.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/api.h" 7 #include "src/api.h"
8 #include "src/arguments.h" 8 #include "src/arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 2744 matching lines...) Expand 10 before | Expand all | Expand 10 after
2755 command.Dispose(); 2755 command.Dispose();
2756 } 2756 }
2757 } 2757 }
2758 } 2758 }
2759 2759
2760 2760
2761 void Debug::CallEventCallback(v8::DebugEvent event, 2761 void Debug::CallEventCallback(v8::DebugEvent event,
2762 Handle<Object> exec_state, 2762 Handle<Object> exec_state,
2763 Handle<Object> event_data, 2763 Handle<Object> event_data,
2764 v8::Debug::ClientData* client_data) { 2764 v8::Debug::ClientData* client_data) {
2765 DisableBreak no_break(this, true);
2765 if (event_listener_->IsForeign()) { 2766 if (event_listener_->IsForeign()) {
2766 // Invoke the C debug event listener. 2767 // Invoke the C debug event listener.
2767 v8::Debug::EventCallback callback = 2768 v8::Debug::EventCallback callback =
2768 FUNCTION_CAST<v8::Debug::EventCallback>( 2769 FUNCTION_CAST<v8::Debug::EventCallback>(
2769 Handle<Foreign>::cast(event_listener_)->foreign_address()); 2770 Handle<Foreign>::cast(event_listener_)->foreign_address());
2770 EventDetailsImpl event_details(event, 2771 EventDetailsImpl event_details(event,
2771 Handle<JSObject>::cast(exec_state), 2772 Handle<JSObject>::cast(exec_state),
2772 Handle<JSObject>::cast(event_data), 2773 Handle<JSObject>::cast(event_data),
2773 event_listener_data_, 2774 event_listener_data_,
2774 client_data); 2775 client_data);
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
3385 logger_->DebugEvent("Put", message.text()); 3386 logger_->DebugEvent("Put", message.text());
3386 } 3387 }
3387 3388
3388 3389
3389 void LockingCommandMessageQueue::Clear() { 3390 void LockingCommandMessageQueue::Clear() {
3390 base::LockGuard<base::Mutex> lock_guard(&mutex_); 3391 base::LockGuard<base::Mutex> lock_guard(&mutex_);
3391 queue_.Clear(); 3392 queue_.Clear();
3392 } 3393 }
3393 3394
3394 } } // namespace v8::internal 3395 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/regress/regress-crbug-409614.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698