summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
authorJohn Hawthorn <john@hawthorn.email>2025-08-06 18:18:21 -0700
committerJohn Hawthorn <john@hawthorn.email>2025-08-18 11:59:58 -0700
commit7d2b724e08a06146887cb7912064b597ae8f69b6 (patch)
tree0e1c40e1961c419b6edd67a28b4d37e92b10179f /shape.c
parente6f3334f42fd9dfb1f89ed6afcb95789b50b3405 (diff)
Add missing writebarrier on complex obj dup
When we dup a complex object we need to issue a writebarrier_remember on the new object. This was caught by wbcheck inside the rubygems test suite. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Diffstat (limited to 'shape.c')
-rw-r--r--shape.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/shape.c b/shape.c
index df4faf960c..b10b52d76f 100644
--- a/shape.c
+++ b/shape.c
@@ -1180,6 +1180,7 @@ rb_shape_copy_complex_ivars(VALUE dest, VALUE obj, shape_id_t src_shape_id, st_t
st_delete(table, &id, NULL);
}
rb_obj_init_too_complex(dest, table);
+ rb_gc_writebarrier_remember(dest);
}
size_t