diff options
author | Erik Verbruggen <[email protected]> | 2014-03-05 17:47:59 +0100 |
---|---|---|
committer | The Qt Project <[email protected]> | 2014-03-07 11:00:56 +0100 |
commit | 289d93f785dc3006dd77c33e121c110c5176ac6d (patch) | |
tree | 55cc851622e787eac86d13979201df59cdfeb428 | |
parent | 90487ebb7584bde9283e154228b9494e3b7bd8fe (diff) |
V4 JIT: fix up register usage for linux/macos on x86_64.
Change-Id: Ia6f3a78410fd41c58904a60f4c7a0630cf5230d0
Reviewed-by: Lars Knoll <[email protected]>
-rw-r--r-- | src/qml/jit/qv4assembler.cpp | 11 | ||||
-rw-r--r-- | src/qml/jit/qv4isel_masm.cpp | 1 |
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 |