diff --git a/gc.c b/gc.c index 58982d98ac..2ff8bc98de 100644 --- a/gc.c +++ b/gc.c @@ -693,14 +693,13 @@ typedef struct gc_function_map { VALUE (*latest_gc_info)(void *objspace_ptr, VALUE key); VALUE (*stat)(void *objspace_ptr, VALUE hash_or_sym); VALUE (*stat_heap)(void *objspace_ptr, VALUE heap_name, VALUE hash_or_sym); + const char *(*active_gc_name)(void); // Miscellaneous size_t (*obj_flags)(void *objspace_ptr, VALUE obj, ID* flags, size_t max); bool (*pointer_to_heap_p)(void *objspace_ptr, const void *ptr); bool (*garbage_object_p)(void *objspace_ptr, VALUE obj); void (*set_event_hook)(void *objspace_ptr, const rb_event_flag_t event); void (*copy_attributes)(void *objspace_ptr, VALUE dest, VALUE obj); - // GC Identification - const char *(*active_gc_name)(void); bool modular_gc_loaded_p; } rb_gc_function_map_t; @@ -845,14 +844,13 @@ ruby_modular_gc_init(void) load_modular_gc_func(latest_gc_info); load_modular_gc_func(stat); load_modular_gc_func(stat_heap); + load_modular_gc_func(active_gc_name); // Miscellaneous load_modular_gc_func(obj_flags); load_modular_gc_func(pointer_to_heap_p); load_modular_gc_func(garbage_object_p); load_modular_gc_func(set_event_hook); load_modular_gc_func(copy_attributes); - //GC Identification - load_modular_gc_func(active_gc_name); # undef load_modular_gc_func @@ -929,14 +927,13 @@ ruby_modular_gc_init(void) # define rb_gc_impl_latest_gc_info rb_gc_functions.latest_gc_info # define rb_gc_impl_stat rb_gc_functions.stat # define rb_gc_impl_stat_heap rb_gc_functions.stat_heap +# define rb_gc_impl_active_gc_name rb_gc_functions.active_gc_name // Miscellaneous # define rb_gc_impl_obj_flags rb_gc_functions.obj_flags # define rb_gc_impl_pointer_to_heap_p rb_gc_functions.pointer_to_heap_p # define rb_gc_impl_garbage_object_p rb_gc_functions.garbage_object_p # define rb_gc_impl_set_event_hook rb_gc_functions.set_event_hook # define rb_gc_impl_copy_attributes rb_gc_functions.copy_attributes -// GC Identification -# define rb_gc_impl_active_gc_name rb_gc_functions.active_gc_name #endif static VALUE initial_stress = Qfalse; diff --git a/gc/gc_impl.h b/gc/gc_impl.h index 322ce2b15c..edff242bd0 100644 --- a/gc/gc_impl.h +++ b/gc/gc_impl.h @@ -106,6 +106,7 @@ GC_IMPL_FN size_t rb_gc_impl_gc_count(void *objspace_ptr); GC_IMPL_FN VALUE rb_gc_impl_latest_gc_info(void *objspace_ptr, VALUE key); GC_IMPL_FN VALUE rb_gc_impl_stat(void *objspace_ptr, VALUE hash_or_sym); GC_IMPL_FN VALUE rb_gc_impl_stat_heap(void *objspace_ptr, VALUE heap_name, VALUE hash_or_sym); +GC_IMPL_FN const char *rb_gc_impl_active_gc_name(void); // Miscellaneous GC_IMPL_FN size_t rb_gc_impl_obj_flags(void *objspace_ptr, VALUE obj, ID* flags, size_t max); GC_IMPL_FN bool rb_gc_impl_pointer_to_heap_p(void *objspace_ptr, const void *ptr); diff --git a/internal/gc.h b/internal/gc.h index 2d6500d527..702a682ee3 100644 --- a/internal/gc.h +++ b/internal/gc.h @@ -251,7 +251,7 @@ void *ruby_sized_xrealloc(void *ptr, size_t new_size, size_t old_size) RUBY_ATTR void *ruby_sized_xrealloc2(void *ptr, size_t new_count, size_t element_size, size_t old_count) RUBY_ATTR_RETURNS_NONNULL RUBY_ATTR_ALLOC_SIZE((2, 3)); void ruby_sized_xfree(void *x, size_t size); -const char * rb_gc_active_gc_name(void); +const char *rb_gc_active_gc_name(void); int rb_gc_modular_gc_loaded_p(void); #if USE_MODULAR_GC