* 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
This commit is contained in:
naruse 2009-10-27 01:29:22 +00:00
Родитель 70b881b5cd
Коммит be6ff25403
2 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -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> Tue Oct 27 09:27:59 2009 NARUSE, Yui <naruse@ruby-lang.org>
* vm_exec.c (DECL_SC_REG): use __clang__. * 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> 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. * 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> Tue Oct 27 03:45:39 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>

4
gc.h
Просмотреть файл

@ -2,7 +2,9 @@
#ifndef RUBY_GC_H #ifndef RUBY_GC_H
#define RUBY_GC_H 1 #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)) #define SET_MACHINE_STACK_END(p) __asm__("mov %%esp, %0" : "=r" (*p))
#else #else
NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p)); NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));