diff options
author | Peter Zhu <peter@peterzhu.ca> | 2023-11-30 14:47:09 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2023-12-01 15:04:31 -0500 |
commit | 80ea7fbad871b2222b16af1bd9f39e1f1828bbd4 (patch) | |
tree | a2cb0155f9ad11b4a8f852efffffa20390e6060c /internal | |
parent | 0ed55bf09713299201caec3ba9d9ef7ba6e8526f (diff) | |
download | ruby-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.h | 1 |
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); |