From 8217ec1b888f3ff93f004801b018c5f85362c484 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 24 Jun 2013 09:31:43 +0200 Subject: 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 --- src/qml/qml/v4/qv4isel_masm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qml/qml/v4/qv4isel_masm.cpp b/src/qml/qml/v4/qv4isel_masm.cpp index 0f4f08dbf4..4e27df7da7 100644 --- a/src/qml/qml/v4/qv4isel_masm.cpp +++ b/src/qml/qml/v4/qv4isel_masm.cpp @@ -267,8 +267,8 @@ void Assembler::leaveStandardStackFrame(int locals) // Work around bug in ARMv7Assembler.h where add32(imm, sp, sp) doesn't // work well for large immediates. #if CPU(ARM_THUMB2) - move(TrustedImm32(frameSize), Assembler::ScratchRegister); - add32(Assembler::ScratchRegister, StackPointerRegister); + move(TrustedImm32(frameSize), JSC::ARMRegisters::r3); + add32(JSC::ARMRegisters::r3, StackPointerRegister); #else addPtr(TrustedImm32(frameSize), StackPointerRegister); #endif -- cgit v1.2.3