summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorJohn Hawthorn <[email protected]>2025-03-10 23:49:59 -0700
committerJohn Hawthorn <[email protected]>2025-04-18 13:03:54 +0900
commit89199a47db25a89cbce05f1be6685e96ded32db5 (patch)
tree0cb26b1ada0963e3f8ddd5148bc94812523b195d /gc.c
parent6f6d07272e76682029112c4ceb6eb6b811ee8d6f (diff)
Extract rb_gc_free_fstring to string.c
This allows more flexibility in how we deal with the fstring table
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12921
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/gc.c b/gc.c
index 12ff1f7922..a01bbe59f8 100644
--- a/gc.c
+++ b/gc.c
@@ -1216,11 +1216,7 @@ rb_gc_obj_free_vm_weak_references(VALUE obj)
switch (BUILTIN_TYPE(obj)) {
case T_STRING:
if (FL_TEST(obj, RSTRING_FSTR)) {
- st_data_t fstr = (st_data_t)obj;
- st_delete(rb_vm_fstring_table(), &fstr, NULL);
- RB_DEBUG_COUNTER_INC(obj_str_fstr);
-
- FL_UNSET(obj, RSTRING_FSTR);
+ rb_gc_free_fstring(obj);
}
break;
case T_SYMBOL: