Author: [EMAIL PROTECTED]
Date: Fri Nov  7 14:56:41 2008
New Revision: 720

Modified:
    branches/bleeding_edge/src/codegen-arm.cc

Log:
Fix OOM handler code. Old code didn't pop up the state slot.

Review URL: http://codereview.chromium.org/10223

Modified: branches/bleeding_edge/src/codegen-arm.cc
==============================================================================
--- branches/bleeding_edge/src/codegen-arm.cc   (original)
+++ branches/bleeding_edge/src/codegen-arm.cc   Fri Nov  7 14:56:41 2008
@@ -3859,8 +3859,16 @@
    // Restore the stack to the address of the ENTRY handler
    __ mov(sp, Operand(r3));

-  // restore parameter- and frame-pointer and pop state.
-  __ ldm(ia_w, sp, r3.bit() | pp.bit() | fp.bit());
+  // Stack layout at this point. See also PushTryHandler
+  // r3, sp ->   next handler
+  //             state (ENTRY)
+  //             pp
+  //             fp
+  //             lr
+
+  // Discard ENTRY state (r2 is not used), and restore parameter-
+  // and frame-pointer and pop state.
+  __ ldm(ia_w, sp, r2.bit() | r3.bit() | pp.bit() | fp.bit());
    // Before returning we restore the context from the frame pointer if not  
NULL.
    // The frame pointer is NULL in the exception handler of a JS entry  
frame.
    __ cmp(fp, Operand(0));

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

Reply via email to