summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Miller <jimmy.miller@shopify.com>2023-03-30 10:20:23 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2023-03-30 18:01:26 -0400
commita8782c454ce3590ecad3ec5da4a54347a7326683 (patch)
treedccbd1de716d1efd0448d48aaec8c5c946a6f4ae
parentdabeec80345461160938079c9f3446b2201ea853 (diff)
downloadruby-a8782c454ce3590ecad3ec5da4a54347a7326683.tar.gz
YJIT: Test more kw and rest cases and change exit name
-rw-r--r--bootstraptest/test_yjit.rb12
-rw-r--r--yjit/src/codegen.rs2
-rw-r--r--yjit/src/stats.rs2
3 files changed, 9 insertions, 7 deletions
diff --git a/bootstraptest/test_yjit.rb b/bootstraptest/test_yjit.rb
index 7a3e6e5e70..b7a3d3a520 100644
--- a/bootstraptest/test_yjit.rb
+++ b/bootstraptest/test_yjit.rb
@@ -3802,16 +3802,18 @@ assert_equal '[{"/a"=>"b", :as=>:c, :via=>:post}, [], nil]', %q{
}
# Test rest and kw_args
-assert_equal '[[["test"], nil, true], [["test"], :base, true]]', %q{
+assert_equal '[true, true, true, true]', %q{
def my_func(*args, base: nil, sort: true)
[args, base, sort]
end
def calling_my_func
- result = []
- result << my_func("test")
- result << my_func("test", base: :base)
+ results = []
+ results << (my_func("test") == [["test"], nil, true])
+ results << (my_func("test", base: :base) == [["test"], :base, true])
+ results << (my_func("test", sort: false) == [["test"], nil, false])
+ results << (my_func("test", "other", base: :base) == [["test", "other"], :base, true])
+ results
end
-
calling_my_func
}
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index 85520e5ae1..f754e4915d 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -5463,7 +5463,7 @@ fn gen_send_iseq(
}
if iseq_has_rest && unsafe { get_iseq_flags_has_kw(iseq) } && supplying_kws {
- gen_counter_incr!(asm, send_iseq_has_rest_and_kw_supplying);
+ gen_counter_incr!(asm, send_iseq_has_rest_and_kw_supplied);
return CantCompile;
}
diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs
index 6e3ea75775..79d1d66c44 100644
--- a/yjit/src/stats.rs
+++ b/yjit/src/stats.rs
@@ -254,7 +254,7 @@ make_counters! {
send_send_builtin,
send_iseq_has_rest_and_captured,
send_iseq_has_rest_and_send,
- send_iseq_has_rest_and_kw_supplying,
+ send_iseq_has_rest_and_kw_supplied,
send_iseq_has_rest_and_optional,
send_iseq_has_rest_and_splat_not_equal,
send_is_a_class_mismatch,