diff options
author | Matt Valentine-House <matt@eightbitraptor.com> | 2022-04-06 09:55:23 +0100 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2022-06-13 10:11:27 -0700 |
commit | 56cc3e99b6b9ec004255280337f6b8353f5e5b06 (patch) | |
tree | 2e5fd33e789155aa65a6b9329c334dff029b8349 /internal | |
parent | f8502a26990c652a2c3c1131614230fec446ab25 (diff) |
Move String RVALUES between pools
And re-embed any strings that can now fit inside the slot they've been
moved to
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5986
Diffstat (limited to 'internal')
-rw-r--r-- | internal/string.h | 4 |
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 |