From: Erik Verbruggen Date: Wed, 5 Mar 2014 16:47:59 +0000 (+0100) Subject: V4 JIT: fix up register usage for linux/macos on x86_64. X-Git-Tag: upstream/5.2.90+alpha~34 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=289d93f785dc3006dd77c33e121c110c5176ac6d;p=platform%2Fupstream%2Fqtdeclarative.git V4 JIT: fix up register usage for linux/macos on x86_64. Change-Id: Ia6f3a78410fd41c58904a60f4c7a0630cf5230d0 Reviewed-by: Lars Knoll --- diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp index 2495771..334d7e7 100644 --- a/src/qml/jit/qv4assembler.cpp +++ b/src/qml/jit/qv4assembler.cpp @@ -97,14 +97,15 @@ QV4::ExecutableAllocator::ChunkOfPages *CompilationUnit::chunkForFunction(int fu /* Platform/Calling convention/Architecture specific section */ #if CPU(X86_64) +# if OS(LINUX) || OS(MAC_OS_X) static const Assembler::RegisterID calleeSavedRegisters[] = { - // Not used: JSC::X86Registers::rbx, - // Not used: JSC::X86Registers::r10, + JSC::X86Registers::ebx, JSC::X86Registers::r12, // LocalsRegister - // Not used: JSC::X86Registers::r13, - JSC::X86Registers::r14 // ContextRegister - // Not used: JSC::X86Registers::r15, + JSC::X86Registers::r13, + JSC::X86Registers::r14, // ContextRegister + JSC::X86Registers::r15 }; +# endif #endif #if CPU(X86) diff --git a/src/qml/jit/qv4isel_masm.cpp b/src/qml/jit/qv4isel_masm.cpp index 08bc0d7..fd2db58 100644 --- a/src/qml/jit/qv4isel_masm.cpp +++ b/src/qml/jit/qv4isel_masm.cpp @@ -218,6 +218,7 @@ static QVector getIntRegisters() << JSC::X86Registers::ebx; # else // x86_64 with linux or with macos static const QVector intRegisters = QVector() + << JSC::X86Registers::ebx << JSC::X86Registers::edi << JSC::X86Registers::esi << JSC::X86Registers::edx