aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-03-05 17:47:59 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-07 11:00:56 +0100
commit289d93f785dc3006dd77c33e121c110c5176ac6d (patch)
tree55cc851622e787eac86d13979201df59cdfeb428 /src/qml/jit
parent90487ebb7584bde9283e154228b9494e3b7bd8fe (diff)
V4 JIT: fix up register usage for linux/macos on x86_64.
Change-Id: Ia6f3a78410fd41c58904a60f4c7a0630cf5230d0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/jit')
-rw-r--r--src/qml/jit/qv4assembler.cpp11
-rw-r--r--src/qml/jit/qv4isel_masm.cpp1
2 files changed, 7 insertions, 5 deletions
diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp
index 2495771c0a..334d7e7b1a 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 08bc0d7cfd..fd2db587f1 100644
--- a/src/qml/jit/qv4isel_masm.cpp
+++ b/src/qml/jit/qv4isel_masm.cpp
@@ -218,6 +218,7 @@ static QVector<int> getIntRegisters()
<< JSC::X86Registers::ebx;
# else // x86_64 with linux or with macos
static const QVector<int> intRegisters = QVector<int>()
+ << JSC::X86Registers::ebx
<< JSC::X86Registers::edi
<< JSC::X86Registers::esi
<< JSC::X86Registers::edx