summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-21 02:50:23 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-21 02:50:23 +0000
commitc0766464e9ef13418cc719acd674f363b79db29a (patch)
treec2c46cd2bdcc5004450881308e32953fea98063b /gc.c
parentb3943565791c1c6a5d4dc3a311ac09a6bad3f9a1 (diff)
* 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
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c8
1 files changed, 6 insertions, 2 deletions
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