Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Chambers <joncham@gmail.com>2008-04-16 05:07:58 +0400
committerJonathan Chambers <joncham@gmail.com>2008-04-16 05:07:58 +0400
commit7c84d2035194a9e55a4715954493ace501b596bb (patch)
tree0ce78695b4d0b5e613336d4165b4dae9e4cb7f5d /libgc/win32_threads.c
parenta4221259660e9d93fcf9ca7286b1722992660706 (diff)
2008-04-15 Jonathan Chambers <joncham@gmail.com>
* include/private/gcconfig.h: Backport GC7 code to support Win64. * win32_threads.c: Backport GC7 code to support Win64. svn path=/trunk/mono/; revision=100798
Diffstat (limited to 'libgc/win32_threads.c')
-rw-r--r--libgc/win32_threads.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgc/win32_threads.c b/libgc/win32_threads.c
index a9569c83f00..deb3eae4e0a 100644
--- a/libgc/win32_threads.c
+++ b/libgc/win32_threads.c
@@ -385,7 +385,11 @@ void GC_push_all_stacks()
# define PUSH4(r1,r2,r3,r4) PUSH2(r1,r2), PUSH2(r3,r4)
# if defined(I386)
PUSH4(Edi,Esi,Ebx,Edx), PUSH2(Ecx,Eax), PUSH1(Ebp);
- sp = (ptr_t)context.Esp;
+ sp = (ptr_t)context.Esp;
+# elif defined(X86_64)
+ PUSH4(Rax,Rcx,Rdx,Rbx); PUSH2(Rbp, Rsi); PUSH1(Rdi);
+ PUSH4(R8, R9, R10, R11); PUSH4(R12, R13, R14, R15);
+ sp = (ptr_t)context.Rsp;
# elif defined(ARM32)
PUSH4(R0,R1,R2,R3),PUSH4(R4,R5,R6,R7),PUSH4(R8,R9,R10,R11),PUSH1(R12);
sp = (ptr_t)context.Sp;