ruby-changes:26077
From: kosaki <ko1@a...>
Date: Sun, 2 Dec 2012 06:23:40 +0900 (JST)
Subject: [ruby-changes:26077] kosaki:r38134 (trunk): * gc.h (SET_MACHINE_STACK_END): add volatile for preventing
kosaki 2012-12-02 06:15:01 +0900 (Sun, 02 Dec 2012) New Revision: 38134 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=38134 Log: * gc.h (SET_MACHINE_STACK_END): add volatile for preventing harmful optimization. Modified files: trunk/ChangeLog trunk/gc.h Index: ChangeLog =================================================================== --- ChangeLog (revision 38133) +++ ChangeLog (revision 38134) @@ -1,3 +1,8 @@ +Sun Dec 2 06:02:00 2012 KOSAKI Motohiro <kosaki.motohiro@g...> + + * gc.h (SET_MACHINE_STACK_END): add volatile for preventing + harmful optimization. + Sun Dec 2 05:01:58 2012 Koichi Sasada <ko1@a...> * iseq.c (rb_iseq_line_trace_each): iterate `line' event only. Index: gc.h =================================================================== --- gc.h (revision 38133) +++ gc.h (revision 38134) @@ -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) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/