gc.c: expand a local macro
* gc.c (mark_current_machine_context, rb_gc_mark_machine_stack): expand rb_gc_mark_locations local macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
10fa31a603
commit
cbfe564ed2
24
gc.c
24
gc.c
@ -3964,8 +3964,6 @@ rb_gc_mark_values(long n, const VALUE *values)
|
||||
}
|
||||
}
|
||||
|
||||
#define rb_gc_mark_locations(start, end) gc_mark_locations(objspace, (start), (end))
|
||||
|
||||
static int
|
||||
mark_entry(st_data_t key, st_data_t value, st_data_t data)
|
||||
{
|
||||
@ -4130,13 +4128,16 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_thread_t *th)
|
||||
|
||||
mark_locations_array(objspace, save_regs_gc_mark.v, numberof(save_regs_gc_mark.v));
|
||||
|
||||
rb_gc_mark_locations(stack_start, stack_end);
|
||||
gc_mark_locations(objspace, stack_start, stack_end);
|
||||
#ifdef __ia64
|
||||
rb_gc_mark_locations(th->machine.register_stack_start, th->machine.register_stack_end);
|
||||
gc_mark_locations(objspace,
|
||||
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));
|
||||
gc_mark_locations(objspace,
|
||||
(VALUE*)((char*)stack_start + 2),
|
||||
(VALUE*)((char*)stack_end - 2));
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -4147,13 +4148,16 @@ rb_gc_mark_machine_stack(rb_thread_t *th)
|
||||
VALUE *stack_start, *stack_end;
|
||||
|
||||
GET_STACK_BOUNDS(stack_start, stack_end, 0);
|
||||
rb_gc_mark_locations(stack_start, stack_end);
|
||||
gc_mark_locations(objspace, stack_start, stack_end);
|
||||
#ifdef __ia64
|
||||
rb_gc_mark_locations(th->machine.register_stack_start, th->machine.register_stack_end);
|
||||
gc_mark_locations(objspace,
|
||||
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));
|
||||
gc_mark_locations(objspace,
|
||||
(VALUE*)((char*)stack_start + 2),
|
||||
(VALUE*)((char*)stack_end - 2));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user