Author: [email protected]
Date: Tue Mar 17 02:28:01 2009
New Revision: 1520

Modified:
    branches/bleeding_edge/src/debug.h

Log:
Changed preemption related stuff in debugger entry.

Fixed an assertion which did not hold when the debugger was recursively  
entered.

Removed the clearing of the preemption flag in debugger entry as there was  
no need for it. The handling of preemption by the stack guard takes care of  
the in debugger situation anyway.
Review URL: http://codereview.chromium.org/48004

Modified: branches/bleeding_edge/src/debug.h
==============================================================================
--- branches/bleeding_edge/src/debug.h  (original)
+++ branches/bleeding_edge/src/debug.h  Tue Mar 17 02:28:01 2009
@@ -574,20 +574,10 @@
    EnterDebugger()
        : prev_(Debug::debugger_entry()),
          has_js_frames_(!it_.done()) {
-    ASSERT(!Debug::preemption_pending());
+    ASSERT(prev_ == NULL ? !Debug::preemption_pending() : true);

      // Link recursive debugger entry.
      Debug::set_debugger_entry(this);
-
-    // If a preemption is pending when first entering the debugger clear  
it as
-    // we don't want preemption happening while executing JavaScript in the
-    // debugger. When recursively entering the debugger the preemption flag
-    // cannot be set as this is disabled while in the debugger (see
-    // RuntimePreempt).
-    if (prev_ == NULL && StackGuard::IsPreempted()) {
-      StackGuard::Continue(PREEMPT);
-    }
-    ASSERT(!StackGuard::IsPreempted());

      // Store the previous break id and frame id.
      break_id_ = Debug::break_id();

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to