Fix crash on ARMv7 when leaving functions

Don't clobber r6 (ScratchRegister) when adjusting the stack pointer for the
locals, as it is a callee-save register.

Change-Id: Ib14fca0cb0807e7b07d0210d102ae9cc57828741
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
Simon Hausmann 2013-06-24 09:31:43 +02:00
parent 948fae8cac
commit 8217ec1b88
1 changed files with 2 additions and 2 deletions

View File

@ -267,8 +267,8 @@ void Assembler::leaveStandardStackFrame(int locals)
// Work around bug in ARMv7Assembler.h where add32(imm, sp, sp) doesn't // Work around bug in ARMv7Assembler.h where add32(imm, sp, sp) doesn't
// work well for large immediates. // work well for large immediates.
#if CPU(ARM_THUMB2) #if CPU(ARM_THUMB2)
move(TrustedImm32(frameSize), Assembler::ScratchRegister); move(TrustedImm32(frameSize), JSC::ARMRegisters::r3);
add32(Assembler::ScratchRegister, StackPointerRegister); add32(JSC::ARMRegisters::r3, StackPointerRegister);
#else #else
addPtr(TrustedImm32(frameSize), StackPointerRegister); addPtr(TrustedImm32(frameSize), StackPointerRegister);
#endif #endif