зеркало из https://github.com/github/ruby.git
* 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:
Родитель
70b881b5cd
Коммит
be6ff25403
|
@ -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
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));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче