summaryrefslogtreecommitdiff
path: root/rts/StgCRun.c
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-03-19 12:07:41 +0000
committerIan Lynagh <igloo@earth.li>2012-03-19 12:07:41 +0000
commit6260064eb5cb05778e2b66d556154e2045e89bf2 (patch)
treec493f079e69fa4ad0bc60efd3715a08d620ba91e /rts/StgCRun.c
parentd7bd9ee63968f6e4df6b32eff8ff11d866dca794 (diff)
downloadhaskell-6260064eb5cb05778e2b66d556154e2045e89bf2.tar.gz
Fix the registers used in StgRun on Win64
Diffstat (limited to 'rts/StgCRun.c')
-rw-r--r--rts/StgCRun.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/rts/StgCRun.c b/rts/StgCRun.c
index f08e35dd11..70244fef68 100644
--- a/rts/StgCRun.c
+++ b/rts/StgCRun.c
@@ -259,11 +259,19 @@ StgRunIsImplementedInAssembler(void)
/*
* Set BaseReg
*/
+#if defined(mingw32_HOST_OS)
+ "movq %%rdx,%%r13\n\t"
+#else
"movq %%rsi,%%r13\n\t"
+#endif
/*
* grab the function argument from the stack, and jump to it.
*/
+#if defined(mingw32_HOST_OS)
+ "movq %%rcx,%%rax\n\t"
+#else
"movq %%rdi,%%rax\n\t"
+#endif
"jmp *%%rax\n\t"
".globl " STG_RETURN "\n"