From 0c3f699268a9b3d41b5023425a419c8b5cf00dbb Mon Sep 17 00:00:00 2001 From: S-H-GAMELINKS Date: Mon, 15 May 2023 17:22:01 +0900 Subject: [PATCH] Introduce gc_mark_table macro --- variable.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/variable.c b/variable.c index 48b72264c925d1..0462da69d61702 100644 --- a/variable.c +++ b/variable.c @@ -501,12 +501,13 @@ mark_global_entry(VALUE v, void *ignored) return ID_TABLE_CONTINUE; } +#define gc_mark_table(task) \ + if (rb_global_tbl) { rb_id_table_foreach_values(rb_global_tbl, task##_global_entry, 0); } + void rb_gc_mark_global_tbl(void) { - if (rb_global_tbl) { - rb_id_table_foreach_values(rb_global_tbl, mark_global_entry, 0); - } + gc_mark_table(mark); } static enum rb_id_table_iterator_result @@ -522,9 +523,7 @@ update_global_entry(VALUE v, void *ignored) void rb_gc_update_global_tbl(void) { - if (rb_global_tbl) { - rb_id_table_foreach_values(rb_global_tbl, update_global_entry, 0); - } + gc_mark_table(update); } static ID