aboutsummaryrefslogtreecommitdiffstats
path: root/variable.c
diff options
context:
space:
mode:
authorS-H-GAMELINKS <gamelinks007@gmail.com>2023-05-15 17:22:01 +0900
committerAaron Patterson <aaron.patterson@gmail.com>2023-05-19 01:05:43 +0900
commit0c3f699268a9b3d41b5023425a419c8b5cf00dbb (patch)
treeead3c1d8dfa8b1729af36be3f03125f27734107f /variable.c
parent2df5a697e2726a11f0441b13fb5c73dd549837c8 (diff)
downloadruby-0c3f699268a9b3d41b5023425a419c8b5cf00dbb.tar.gz
Introduce gc_mark_table macro
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/variable.c b/variable.c
index 48b72264c9..0462da69d6 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