Index: src/codegen-arm.cc |
=================================================================== |
--- src/codegen-arm.cc (revision 719) |
+++ src/codegen-arm.cc (working copy) |
@@ -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)); |