summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorJimmy Miller <jimmy.miller@shopify.com>2023-03-07 17:03:43 -0500
committerGitHub <noreply@github.com>2023-03-07 17:03:43 -0500
commit56df6d5f9d986a7959eb9cac27e21bc2ed505319 (patch)
tree3ce9efc14aa28e2b5e9f050fc8a7037980d78fb1 /array.c
parent33edcc112081f96856d52e73253d73c97a5c4a3c (diff)
downloadruby-56df6d5f9d986a7959eb9cac27e21bc2ed505319.tar.gz
YJIT: Handle splat+rest for args pass greater than required (#7468)
For example: ```ruby def my_func(x, y, *rest) p [x, y, rest] end my_func(1, 2, 3, *[4, 5]) ```
Diffstat (limited to 'array.c')
-rw-r--r--array.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/array.c b/array.c
index 5e09d89322..c34895a67b 100644
--- a/array.c
+++ b/array.c
@@ -1802,6 +1802,12 @@ rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)
return ary;
}
+/* non-static for yjit */
+VALUE
+rb_yjit_rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary) {
+ return rb_ary_unshift_m(argc, argv, ary);
+}
+
VALUE
rb_ary_unshift(VALUE ary, VALUE item)
{