summaryrefslogtreecommitdiff
path: root/internal/string.h
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2022-04-06 09:55:23 +0100
committerAaron Patterson <aaron.patterson@gmail.com>2022-06-13 10:11:27 -0700
commit56cc3e99b6b9ec004255280337f6b8353f5e5b06 (patch)
tree2e5fd33e789155aa65a6b9329c334dff029b8349 /internal/string.h
parentf8502a26990c652a2c3c1131614230fec446ab25 (diff)
downloadruby-56cc3e99b6b9ec004255280337f6b8353f5e5b06.tar.gz
Move String RVALUES between pools
And re-embed any strings that can now fit inside the slot they've been moved to
Diffstat (limited to 'internal/string.h')
-rw-r--r--internal/string.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/string.h b/internal/string.h
index 18b01862f7..8fb9553d03 100644
--- a/internal/string.h
+++ b/internal/string.h
@@ -59,6 +59,10 @@ void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
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
MJIT_SYMBOL_EXPORT_BEGIN