aboutsummaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2023-11-30 14:47:09 -0500
committerPeter Zhu <peter@peterzhu.ca>2023-12-01 15:04:31 -0500
commit80ea7fbad871b2222b16af1bd9f39e1f1828bbd4 (patch)
treea2cb0155f9ad11b4a8f852efffffa20390e6060c /internal
parent0ed55bf09713299201caec3ba9d9ef7ba6e8526f (diff)
downloadruby-80ea7fbad871b2222b16af1bd9f39e1f1828bbd4.tar.gz
Pin embedded shared strings
Embedded shared strings cannot be moved because strings point into the slot of the shared string. There may be code using the RSTRING_PTR on the stack, which would pin the string but not pin the shared string, causing it to move.
Diffstat (limited to 'internal')
-rw-r--r--internal/string.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/internal/string.h b/internal/string.h
index abb0a536ad..8c481f979e 100644
--- a/internal/string.h
+++ b/internal/string.h
@@ -64,7 +64,6 @@ VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
void rb_str_make_embedded(VALUE);
size_t rb_str_size_as_embedded(VALUE);
bool rb_str_reembeddable_p(VALUE);
-void rb_str_update_shared_ary(VALUE str, VALUE old_root, VALUE new_root);
RUBY_SYMBOL_EXPORT_END
VALUE rb_fstring_new(const char *ptr, long len);