diff options
author | Maple Ong <[email protected]> | 2022-08-15 12:54:26 -0400 |
---|---|---|
committer | Takashi Kokubun <[email protected]> | 2022-08-29 08:47:11 -0700 |
commit | 5a76a15a0f93100c7ff6361a34b06af936cc36c6 (patch) | |
tree | 8e11582f3ce368481939f415cfc5ab7ba372f0e4 /vm_insnhelper.c | |
parent | 2f9df466546263028ece7757cb6f813800d2d6b5 (diff) |
YJIT: Implement concatarray in yjit (https://github.com/Shopify/ruby/pull/405)
* Create code generation func
* Make rb_vm_concat_array available to use in Rust
* Map opcode to code gen func
* Implement code gen for concatarray
* Add test for concatarray
* Use new asm backend
* Add comment to C func wrapper
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 3c41adcdc9..ab1394c7ca 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -4380,6 +4380,14 @@ vm_concat_array(VALUE ary1, VALUE ary2st) return rb_ary_concat(tmp1, tmp2); } +// YJIT implementation is using the C function +// and needs to call a non-static function +VALUE +rb_vm_concat_array(VALUE ary1, VALUE ary2st) +{ + return vm_concat_array(ary1, ary2st); +} + static VALUE vm_splat_array(VALUE flag, VALUE ary) { @@ -4395,6 +4403,8 @@ vm_splat_array(VALUE flag, VALUE ary) } } +// YJIT implementation is using the C function +// and needs to call a non-static function VALUE rb_vm_splat_array(VALUE flag, VALUE ary) { |