From 71f1c724c6619fb86c35999516a701ab8d275d0c Mon Sep 17 00:00:00 2001 From: Marty Rosenberg Date: Thu, 10 May 2012 15:21:03 -0700 Subject: [PATCH] Fix a couple of cases from yesterday's gc patch that I forgot on ARM (no bug, r=dvander) --- js/src/ion/arm/Trampoline-arm.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/src/ion/arm/Trampoline-arm.cpp b/js/src/ion/arm/Trampoline-arm.cpp index 7861821cb01..ace78f2d215 100644 --- a/js/src/ion/arm/Trampoline-arm.cpp +++ b/js/src/ion/arm/Trampoline-arm.cpp @@ -282,8 +282,13 @@ generateBailoutTail(MacroAssembler &masm) // Test for an exception masm.as_cmp(r0, Imm8(0)); masm.ma_b(&exception, Assembler::Zero); + masm.freeStack(sizeof(IonCode*)); masm.ma_pop(pc); + masm.bind(&exception); +#ifdef DEBUG + masm.ma_add(Imm32(sizeof(IonCode*)), sp); +#endif masm.handleException(); } @@ -574,7 +579,7 @@ IonCompartment::generateVMWrapper(JSContext *cx, const VMFunction &f) if (f.explicitArgs) { argsBase = r5; regs.take(argsBase); - masm.ma_add(sp, Imm32(IonExitFrameLayout::SizeWithFooter()), argsBase); + masm.ma_add(sp, Imm32(IonExitFrameLayout::SizeWithFooter() + argumentPadding), argsBase); } // Reserve space for the outparameter.