aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit/qv4assembler_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-04-10 13:59:32 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-17 07:09:40 +0200
commit6572d4e50d73ac60a8974d07de74c27a7f99ebef (patch)
tree9a1ac37ad643b2fd1082f1e97bdffcf67b450b57 /src/qml/jit/qv4assembler_p.h
parentfc634cb4a2daed40690f0530dc06ff850f3b73ab (diff)
V4: fix register usage on ARM.
JSC was using r3 as the address scratch register, which collides with the 4th parameter in a function call. This sometimes shows up when generateFunctionCall needs to do a calulated jump. Also fix the usage of r11, which seems to be the fp on some platforms. Change-Id: Ib2ea64b9342e5aa631db6a7641747f899b2fbd89 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jit/qv4assembler_p.h')
-rw-r--r--src/qml/jit/qv4assembler_p.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/qml/jit/qv4assembler_p.h b/src/qml/jit/qv4assembler_p.h
index 085da34ed3..32f9d7e867 100644
--- a/src/qml/jit/qv4assembler_p.h
+++ b/src/qml/jit/qv4assembler_p.h
@@ -219,12 +219,12 @@ public:
#define ARGUMENTS_IN_REGISTERS
#undef HAVE_ALU_OPS_WITH_MEM_OPERAND
- static const RegisterID StackFrameRegister = JSC::ARMRegisters::r4;
- static const RegisterID StackPointerRegister = JSC::ARMRegisters::sp;
+ static const RegisterID StackPointerRegister = JSC::ARMRegisters::sp; // r13
+ static const RegisterID StackFrameRegister = JSC::ARMRegisters::fp; // r11
static const RegisterID LocalsRegister = JSC::ARMRegisters::r7;
+ static const RegisterID ScratchRegister = JSC::ARMRegisters::r6;
static const RegisterID ContextRegister = JSC::ARMRegisters::r5;
static const RegisterID ReturnValueRegister = JSC::ARMRegisters::r0;
- static const RegisterID ScratchRegister = JSC::ARMRegisters::r6;
static const FPRegisterID FPGpr0 = JSC::ARMRegisters::d0;
static const FPRegisterID FPGpr1 = JSC::ARMRegisters::d1;