diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gc.c | 8 |
2 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Tue Oct 21 11:49:16 2014 Andreas Schwab <schwab@suse.de> + + * 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 <usa@ruby-lang.org> * enc/prelude.rb: we sometimes run ruby without library path (especially @@ -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 |