From 758a1d730230ad0f4adfd7681c1fe4c8ac398bde Mon Sep 17 00:00:00 2001 From: Jimmy Miller Date: Wed, 14 Sep 2022 10:32:22 -0400 Subject: Initial support for VM_CALL_ARGS_SPLAT (#6341) * Initial support for VM_CALL_ARGS_SPLAT This implements support for calls with splat (*) for some methods. In benchmarks this made very little difference for most benchmarks, but a large difference for binarytrees. Looking at side exits, many benchmarks now don't exit for splat, but exit for some other reason. Binarytrees however had a number of calls that used splat args that are now much faster. In my non-scientific benchmarking this made splat args performance on par with not using splat args at all. * Fix wording and whitespace Co-authored-by: Maxime Chevalier-Boisvert * Get rid of side_effect reassignment Co-authored-by: Maxime Chevalier-Boisvert --- yjit/bindgen/src/main.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'yjit/bindgen') diff --git a/yjit/bindgen/src/main.rs b/yjit/bindgen/src/main.rs index eaf030a1de..294da21378 100644 --- a/yjit/bindgen/src/main.rs +++ b/yjit/bindgen/src/main.rs @@ -342,6 +342,7 @@ fn main() { .allowlist_function("rb_get_iseq_flags_has_kwrest") .allowlist_function("rb_get_iseq_flags_has_block") .allowlist_function("rb_get_iseq_flags_has_accepts_no_kwarg") + .allowlist_function("rb_get_iseq_flags_ruby2_keywords") .allowlist_function("rb_get_iseq_body_local_table_size") .allowlist_function("rb_get_iseq_body_param_keyword") .allowlist_function("rb_get_iseq_body_param_size") -- cgit v1.2.1