summaryrefslogtreecommitdiff
path: root/symbol.c
diff options
context:
space:
mode:
authorPeter Zhu <[email protected]>2025-02-07 11:10:18 -0500
committerPeter Zhu <[email protected]>2025-02-10 08:47:44 -0500
commit3fb455adabc26a978f3bf42aa0bf42f10f64ae31 (patch)
tree9d73ce4a3cf9e339801b8c8a577d1a4c012c6012 /symbol.c
parent8d0416ae0b6e725c855a3afb1225fe892d42dd4e (diff)
Move global symbol reference updating to rb_sym_global_symbols_update_references
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12711
Diffstat (limited to 'symbol.c')
-rw-r--r--symbol.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/symbol.c b/symbol.c
index 43be046856..5f95769292 100644
--- a/symbol.c
+++ b/symbol.c
@@ -113,6 +113,15 @@ rb_sym_global_symbols_mark(void)
rb_gc_mark_movable(symbols->dsymbol_fstr_hash);
}
+void
+rb_sym_global_symbols_update_references(void)
+{
+ rb_symbols_t *symbols = &ruby_global_symbols;
+
+ symbols->ids = rb_gc_location(symbols->ids);
+ symbols->dsymbol_fstr_hash = rb_gc_location(symbols->dsymbol_fstr_hash);
+}
+
WARN_UNUSED_RESULT(static VALUE dsymbol_alloc(rb_symbols_t *symbols, const VALUE klass, const VALUE str, rb_encoding *const enc, const ID type));
WARN_UNUSED_RESULT(static VALUE dsymbol_check(rb_symbols_t *symbols, const VALUE sym));
WARN_UNUSED_RESULT(static ID lookup_str_id(VALUE str));