From d3ae5808bbeaba529449c0e0270658436e8699fd Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 29 Feb 2024 13:37:21 -0500 Subject: [PATCH] Remove each_machine_stack_value The function is only used by rb_gc_mark_machine_stack. --- gc.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/gc.c b/gc.c index c4ef1c355c..cde2c1b9bc 100644 --- a/gc.c +++ b/gc.c @@ -6485,21 +6485,14 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_execution_context_t *ec } #endif -static void -each_machine_stack_value(const rb_execution_context_t *ec, void (*cb)(rb_objspace_t *, VALUE)) -{ - rb_objspace_t *objspace = &rb_objspace; - VALUE *stack_start, *stack_end; - - GET_STACK_BOUNDS(stack_start, stack_end, 0); - RUBY_DEBUG_LOG("ec->th:%u stack_start:%p stack_end:%p", rb_ec_thread_ptr(ec)->serial, stack_start, stack_end); - each_stack_location(objspace, ec, stack_start, stack_end, cb); -} - void rb_gc_mark_machine_stack(const rb_execution_context_t *ec) { - each_machine_stack_value(ec, gc_mark_maybe); + VALUE *stack_start, *stack_end; + GET_STACK_BOUNDS(stack_start, stack_end, 0); + RUBY_DEBUG_LOG("ec->th:%u stack_start:%p stack_end:%p", rb_ec_thread_ptr(ec)->serial, stack_start, stack_end); + + rb_gc_mark_locations(stack_start, stack_end); } static void