diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-18 23:49:11 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-19 13:25:41 -0700 |
commit | 2121282753b9faee1ce6f93d6c75b105ad040af0 (patch) | |
tree | bd2b4b09c3276380ae0096ed71d30ba41ee6bbcc /rjit_c.c | |
parent | bcd0aa896fe84610cef8dc873239738001283538 (diff) | |
download | ruby-2121282753b9faee1ce6f93d6c75b105ad040af0.tar.gz |
RJIT: Optimize String#<<
Diffstat (limited to 'rjit_c.c')
-rw-r--r-- | rjit_c.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -170,6 +170,12 @@ rjit_str_neq_internal(VALUE str1, VALUE str2) return rb_str_eql_internal(str1, str2) == Qtrue ? Qfalse : Qtrue; } +static VALUE +rjit_str_simple_append(VALUE str1, VALUE str2) +{ + return rb_str_cat(str1, RSTRING_PTR(str2), RSTRING_LEN(str2)); +} + // The code we generate in gen_send_cfunc() doesn't fire the c_return TracePoint event // like the interpreter. When tracing for c_return is enabled, we patch the code after // the C method return to call into this to fire the event. |