From c0766464e9ef13418cc719acd674f363b79db29a Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 21 Oct 2014 02:50:23 +0000 Subject: * gc.c (mark_current_machine_context) [__mc68000__]: Update stack marking. (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ gc.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 109dde98fd..b129330755 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Oct 21 11:49:16 2014 Andreas Schwab + + * gc.c (mark_current_machine_context) [__mc68000__]: Update stack + marking. + (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here. + Mon Oct 20 23:59:38 2014 NAKAMURA Usaku * enc/prelude.rb: we sometimes run ruby without library path (especially diff --git a/gc.c b/gc.c index d53c9dc79b..a27cc01d03 100644 --- a/gc.c +++ b/gc.c @@ -3838,8 +3838,8 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_thread_t *th) rb_gc_mark_locations(th->machine.register_stack_start, th->machine.register_stack_end); #endif #if defined(__mc68000__) - mark_locations_array(objspace, (VALUE*)((char*)STACK_END + 2), - (STACK_START - STACK_END)); + rb_gc_mark_locations((VALUE*)((char*)stack_start + 2), + (VALUE*)((char*)stack_end - 2)); #endif } @@ -3854,6 +3854,10 @@ rb_gc_mark_machine_stack(rb_thread_t *th) #ifdef __ia64 rb_gc_mark_locations(th->machine.register_stack_start, th->machine.register_stack_end); #endif +#if defined(__mc68000__) + rb_gc_mark_locations((VALUE*)((char*)stack_start + 2), + (VALUE*)((char*)stack_end - 2)); +#endif } void -- cgit v1.2.3