diff options
author | Matt Valentine-House <[email protected]> | 2023-01-13 14:30:47 +0000 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2023-01-13 10:31:35 -0500 |
commit | 8a93e5d01bf8bc185426a62ebb675460592a609b (patch) | |
tree | dcb2db0c4fb0e65baca445fc3390d61c563d45da /string.c | |
parent | 2605615fe6c540740ce921c181c1bc081c019e49 (diff) |
Use str_enc_copy_direct to improve performance
str_enc_copy_direct copies the string encoding over without checking the
frozen status of the string. Because we know that we're safe here (we
only use this function when interpolating strings on the stack via a
concatstrings instruction) we can safely skip this check
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6965
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3352,7 +3352,7 @@ rb_str_concat_literals(size_t num, const VALUE *strary) for (i = 0; i < num; ++i) { len += RSTRING_LEN(strary[i]); } str = rb_str_buf_new(len); - str_enc_copy(str, strary[0]); + str_enc_copy_direct(str, strary[0]); for (i = s; i < num; ++i) { const VALUE v = strary[i]; |