Index: src/debug.cc |
=================================================================== |
--- src/debug.cc (revision 2070) |
+++ src/debug.cc (working copy) |
@@ -443,7 +443,7 @@ |
thread_local_.step_into_fp_ = 0; |
thread_local_.after_break_target_ = 0; |
thread_local_.debugger_entry_ = NULL; |
- thread_local_.preemption_pending_ = false; |
+ thread_local_.pending_interrupts_ = 0; |
} |
@@ -727,7 +727,7 @@ |
// Set the flag indicating that preemption happened during debugging. |
void Debug::PreemptionWhileInDebugger() { |
ASSERT(InDebugger()); |
- Debug::set_preemption_pending(true); |
+ Debug::set_interrupts_pending(PREEMPT); |
} |
@@ -1927,6 +1927,11 @@ |
bool auto_continue) { |
HandleScope scope; |
+ // Clear any pending debug break if this is a real break. |
+ if (!auto_continue) { |
+ Debug::clear_interrupt_pending(DEBUGBREAK); |
+ } |
+ |
// Create the execution state. |
bool caught_exception = false; |
Handle<Object> exec_state = MakeExecutionState(&caught_exception); |