From be6ff254038b7fd08b0e95fc44d803ed89a003ae Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 27 Oct 2009 01:29:22 +0000 Subject: * gc.c (SET_MACHINE_STACK_END): add x86_64 version by nobu. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 +++++- gc.h | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 69d4f1d1c1..513a6304da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Oct 27 09:40:55 2009 NARUSE, Yui + + * gc.c (SET_MACHINE_STACK_END): add x86_64 version by nobu. + Tue Oct 27 09:27:59 2009 NARUSE, Yui * vm_exec.c (DECL_SC_REG): use __clang__. @@ -27,7 +31,7 @@ Tue Oct 27 05:56:39 2009 NARUSE, Yui Tue Oct 27 05:11:49 2009 NARUSE, Yui * vm_exec.c (DECL_SC_REG): check defined(__asm__) before use it. - LLVM/clang defines __GNUC__ but doesn't have __asm__.. + LLVM/clang defines __GNUC__ but doesn't have __asm__. Tue Oct 27 03:45:39 2009 Nobuyoshi Nakada diff --git a/gc.h b/gc.h index 82fbcb53e0..42ea4a8356 100644 --- a/gc.h +++ b/gc.h @@ -2,7 +2,9 @@ #ifndef RUBY_GC_H #define RUBY_GC_H 1 -#if defined(__i386) && defined(__GNUC__) +#if defined(__x86_64__) && defined(__GNUC__) +#define SET_MACHINE_STACK_END(p) __asm__("mov %%rsp, %0" : "=r" (*p)) +#elif defined(__i386) && defined(__GNUC__) #define SET_MACHINE_STACK_END(p) __asm__("mov %%esp, %0" : "=r" (*p)) #else NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p)); -- cgit v1.2.3