From: sgjesse@chromium.org Date: Fri, 3 Oct 2008 09:57:18 +0000 (+0000) Subject: Refactored the logic for entering the debugger into one abstraction EnterDebugger. X-Git-Tag: upstream/4.7.83~25272 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12bc4034e0fc0b9bed34dd74a5d3099f26ccd2ba;p=platform%2Fupstream%2Fv8.git Refactored the logic for entering the debugger into one abstraction EnterDebugger. Removed the static initializer for Top::break_access_. Review URL: http://codereview.chromium.org/6234 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/debug.cc b/src/debug.cc index b6925aa..e3fcb7b 100644 --- a/src/debug.cc +++ b/src/debug.cc @@ -631,8 +631,11 @@ Object* Debug::Break(Arguments args) { return Heap::undefined_value(); } - SaveBreakFrame save; - EnterDebuggerContext enter; + // Enter the debugger. + EnterDebugger debugger; + if (debugger.FailedToEnter()) { + return Heap::undefined_value(); + } // Postpone interrupt during breakpoint processing. PostponeInterruptsScope postpone; @@ -1415,10 +1418,9 @@ void Debugger::OnException(Handle exception, bool uncaught) { if (!Debug::break_on_exception()) return; } - // Enter the debugger. Bail out if the debugger cannot be loaded. - if (!Debug::Load()) return; - SaveBreakFrame save; - EnterDebuggerContext enter; + // Enter the debugger. + EnterDebugger debugger; + if (debugger.FailedToEnter()) return; // Clear all current stepping setup. Debug::ClearStepping(); @@ -1479,10 +1481,9 @@ void Debugger::OnBeforeCompile(Handle