From 7caa66fa4ae46ecfb65d7e9fdaaad4e97b1d08c6 Mon Sep 17 00:00:00 2001 From: yugui Date: Wed, 4 Mar 2009 09:19:38 +0000 Subject: merges r22659 from trunk into ruby_1_9_1. -- * gc.c (ruby_get_stack_grow_direction): no needs to use thread here, and not initialized yet. [ruby-core:22439] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@22748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ gc.c | 6 +++--- thread_pthread.c | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 68c8d77be..d5dac588a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Feb 27 18:01:20 2009 Nobuyoshi Nakada + + * gc.c (ruby_get_stack_grow_direction): no needs to use thread + here, and not initialized yet. [ruby-core:22439] + Fri Feb 27 17:45:25 2009 Nobuyoshi Nakada * file.c (file_load_ok): checks if regular file, except for the diff --git a/gc.c b/gc.c index 002abb3bc..c9e9a520d 100644 --- a/gc.c +++ b/gc.c @@ -1102,10 +1102,10 @@ int ruby_stack_grow_direction; int ruby_get_stack_grow_direction(VALUE *addr) { - rb_thread_t *th = GET_THREAD(); - SET_STACK_END; + VALUE *end; + SET_MACHINE_STACK_END(&end); - if (STACK_END > addr) return ruby_stack_grow_direction = 1; + if (end > addr) return ruby_stack_grow_direction = 1; return ruby_stack_grow_direction = -1; } #endif diff --git a/thread_pthread.c b/thread_pthread.c index 3e368c6a6..21c54bb70 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -275,7 +275,7 @@ ruby_init_stack(VALUE *addr native_main_thread.stack_start = STACK_END_ADDRESS; #else if (!native_main_thread.stack_start || - STACK_UPPER(&addr, + STACK_UPPER((VALUE *)(void *)&addr, native_main_thread.stack_start > addr, native_main_thread.stack_start < addr)) { native_main_thread.stack_start = addr; -- cgit