diff --git a/ChangeLog b/ChangeLog index c7dc03181b..d1a07d9f82 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1821,6 +1821,12 @@ Wed Feb 11 23:37:35 2009 Yukihiro Matsumoto Shin"). [ruby-talk:273360] back ported from 1.9. fix [ruby-core:19791] +Tue Feb 10 00:01:19 2009 Brent Roman + + * gc.c: don't redundantly mark stack before base of current thread + + * version.h: bumped date + Mon Feb 9 17:35:38 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_accept): secure fd before accept because if diff --git a/gc.c b/gc.c index 7cd4a947fe..7fb7c8499b 100644 --- a/gc.c +++ b/gc.c @@ -1486,14 +1486,14 @@ garbage_collect_0(VALUE *top_frame) rb_setjmp(save_regs_gc_mark); mark_locations_array((VALUE*)save_regs_gc_mark, sizeof(save_regs_gc_mark) / sizeof(VALUE *)); #if STACK_GROW_DIRECTION < 0 - rb_gc_mark_locations(top_frame, rb_gc_stack_start); + rb_gc_mark_locations(top_frame, rb_curr_thread->stk_start); #elif STACK_GROW_DIRECTION > 0 - rb_gc_mark_locations(rb_gc_stack_start, top_frame + 1); + rb_gc_mark_locations(rb_curr_thread->stk_start, top_frame + 1); #else if (rb_gc_stack_grow_direction < 0) - rb_gc_mark_locations(top_frame, rb_gc_stack_start); + rb_gc_mark_locations(top_frame, rb_curr_thread->stk_start); else - rb_gc_mark_locations(rb_gc_stack_start, top_frame + 1); + rb_gc_mark_locations(rb_curr_thread->stk_start, top_frame + 1); #endif #ifdef __ia64 /* mark backing store (flushed register window on the stack) */ @@ -1502,7 +1502,7 @@ garbage_collect_0(VALUE *top_frame) #endif #if defined(__human68k__) || defined(__mc68000__) rb_gc_mark_locations((VALUE*)((char*)STACK_END + 2), - (VALUE*)((char*)rb_gc_stack_start + 2)); + (VALUE*)((char*)rb_curr_thread->stk_start + 2)); #endif rb_gc_mark_threads(); diff --git a/version.h b/version.h index 4f55a43d15..072d90c86b 100644 --- a/version.h +++ b/version.h @@ -28,7 +28,7 @@ RUBY_EXTERN const char *ruby_copyright; #include "rubysig.h" #define string_arg(s) #s -#define MBARI_RELEASE(wipe_sites) "MBARI 7-/" string_arg(wipe_sites) +#define MBARI_RELEASE(wipe_sites) "MBARI 7/" string_arg(wipe_sites) #define RUBY_RELEASE_STR MBARI_RELEASE(STACK_WIPE_SITES) " on patchlevel" #define RUBY_RELEASE_NUM RUBY_PATCHLEVEL