Reviewers: Karl Klose,

Description:
ARM: Fix the debugger using wrong break stub for slot breaks

On ARM the break at break slots wrongly used the break at return stub which
assumes an object opinter in r0. At break slots there are no objects live in
registers so a GC while at a break on a break stub could cause a crash as r0 was
wrongly pushed on a internal frame to be handled by GC.

Please review this at http://codereview.chromium.org/6676037/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/arm/debug-arm.cc


Index: src/arm/debug-arm.cc
===================================================================
--- src/arm/debug-arm.cc        (revision 7187)
+++ src/arm/debug-arm.cc        (working copy)
@@ -115,7 +115,7 @@
   patcher.masm()->mov(v8::internal::lr, v8::internal::pc);
   patcher.masm()->ldr(v8::internal::pc, MemOperand(v8::internal::pc, -4));
 #endif
-  patcher.Emit(Debug::debug_break_return()->entry());
+  patcher.Emit(Debug::debug_break_slot()->entry());
 }




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

Reply via email to