LGTM 2009/3/16 <[email protected]>: > Reviewers: Erik Corry, > > Description: > 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. > > Please review this at http://codereview.chromium.org/48004 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/debug.h > > > Index: src/debug.h > =================================================================== > --- src/debug.h (revision 1518) > +++ src/debug.h (working copy) > @@ -574,21 +574,11 @@ > 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(); > break_frame_id_ = Debug::break_frame_id(); > > >
-- Erik Corry, Software Engineer Google Denmark ApS. CVR nr. 28 86 69 84 c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K, Denmark. --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
