From af5ace1f80fc50f319bcb577509be5f9bb9989c8 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 20 Oct 2014 13:35:01 +0200 Subject: [PATCH] Update gc stack marking for m68k * gc.c (mark_current_machine_context) [__mc68000__]: Update stack marking. (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here. --- ChangeLog | 6 ++++++ gc.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b721fb7..1245953 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 20 20:31:11 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 19:06:06 2014 Martin Duerst * lib/unicode_normalize.rb: revert r48046. The s in sIndex diff --git a/gc.c b/gc.c index d53c9dc..a27cc01 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 -- 2.1.2