lib/Target/X86/X86JITInfo.cpp: Add Win64 stuff.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Sat, 5 Feb 2011 15:11:03 +0000 (15:11 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Sat, 5 Feb 2011 15:11:03 +0000 (15:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124947 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86JITInfo.cpp

index 9a07700b930b601b4cf191792d18f708e75025e7..3f88fa69d0ee1a88f51dc46f497ad5ad5fd6561e 100644 (file)
@@ -127,9 +127,17 @@ extern "C" {
     "movaps  %xmm6, 96(%rsp)\n"
     "movaps  %xmm7, 112(%rsp)\n"
     // JIT callee
+#ifdef _WIN64
+    "subq    $32, %rsp\n"
+    "movq    %rbp, %rcx\n"    // Pass prev frame and return address
+    "movq    8(%rbp), %rdx\n"
+    "call    " ASMPREFIX "X86CompilationCallback2\n"
+    "addq    $32, %rsp\n"
+#else
     "movq    %rbp, %rdi\n"    // Pass prev frame and return address
     "movq    8(%rbp), %rsi\n"
     "call    " ASMPREFIX "X86CompilationCallback2\n"
+#endif
     // Restore all XMM arg registers
     "movaps  112(%rsp), %xmm7\n"
     "movaps  96(%rsp), %xmm6\n"