diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gc.h | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Oct 27 09:40:55 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * gc.c (SET_MACHINE_STACK_END): add x86_64 version by nobu. + Tue Oct 27 09:27:59 2009 NARUSE, Yui <naruse@ruby-lang.org> * vm_exec.c (DECL_SC_REG): use __clang__. @@ -27,7 +31,7 @@ Tue Oct 27 05:56:39 2009 NARUSE, Yui <naruse@ruby-lang.org> Tue Oct 27 05:11:49 2009 NARUSE, Yui <naruse@ruby-lang.org> * 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 <nobu@ruby-lang.org> @@ -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)); |