mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* gc.h (SET_MACHINE_STACK_END): add volatile for preventing
harmful optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5bdd03936c
commit
2ba9cdcee6
2 changed files with 7 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
Sun Dec 2 06:02:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
||||
|
||||
* gc.h (SET_MACHINE_STACK_END): add volatile for preventing
|
||||
harmful optimization.
|
||||
|
||||
Sun Dec 2 05:01:58 2012 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* iseq.c (rb_iseq_line_trace_each): iterate `line' event only.
|
||||
|
|
4
gc.h
4
gc.h
|
@ -3,9 +3,9 @@
|
|||
#define RUBY_GC_H 1
|
||||
|
||||
#if defined(__x86_64__) && defined(__GNUC__) && !defined(__native_client__)
|
||||
#define SET_MACHINE_STACK_END(p) __asm__("movq\t%%rsp, %0" : "=r" (*(p)))
|
||||
#define SET_MACHINE_STACK_END(p) __asm__ volatile ("movq\t%%rsp, %0" : "=r" (*(p)))
|
||||
#elif defined(__i386) && defined(__GNUC__) && !defined(__native_client__)
|
||||
#define SET_MACHINE_STACK_END(p) __asm__("movl\t%%esp, %0" : "=r" (*(p)))
|
||||
#define SET_MACHINE_STACK_END(p) __asm__ volatile ("movl\t%%esp, %0" : "=r" (*(p)))
|
||||
#else
|
||||
NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));
|
||||
#define SET_MACHINE_STACK_END(p) rb_gc_set_stack_end(p)
|
||||
|
|
Loading…
Reference in a new issue