V4 JIT: enable JIT on win64.
authorErik Verbruggen <erik.verbruggen@digia.com>
Thu, 6 Mar 2014 11:40:21 +0000 (12:40 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 8 Mar 2014 08:26:31 +0000 (09:26 +0100)
Change-Id: I640d507c33fd4c4df6d6284b473df5cea9e5c4b4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/jit/qv4assembler.cpp
src/qml/jsruntime/qv4global_p.h

index 334d7e7b1a3aed0d7f06e66d90c500fe3febc59b..4e644c434db0b7ab19b5b9452ffdd5e8fa99e7b7 100644 (file)
@@ -105,6 +105,16 @@ static const Assembler::RegisterID calleeSavedRegisters[] = {
     JSC::X86Registers::r14, // ContextRegister
     JSC::X86Registers::r15
 };
+#  elif OS(WINDOWS)
+static const Assembler::RegisterID calleeSavedRegisters[] = {
+    JSC::X86Registers::ebx,
+    JSC::X86Registers::esi,
+    JSC::X86Registers::edi,
+    JSC::X86Registers::r12, // LocalsRegister
+    JSC::X86Registers::r13,
+    JSC::X86Registers::r14, // ContextRegister
+    JSC::X86Registers::r15
+};
 #  endif
 #endif
 
index 746513cc2fcdaba1354cbc3fbc82249e7eb498ca..4e05bb81abbe48691a3cac1120a425c6a14b1e18 100644 (file)
@@ -84,7 +84,7 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(d); }
 
 // Black list some platforms
 #if defined(V4_ENABLE_JIT)
-#if defined(Q_OS_IOS) || defined(Q_OS_WIN64) || defined(Q_OS_WINRT)
+#if defined(Q_OS_IOS) || defined(Q_OS_WINRT)
 #    undef V4_ENABLE_JIT
 #endif
 #endif