summaryrefslogtreecommitdiff
path: root/yjit.c
diff options
context:
space:
mode:
authorJimmy Miller <jimmy.miller@shopify.com>2022-09-14 10:32:22 -0400
committerGitHub <noreply@github.com>2022-09-14 10:32:22 -0400
commit758a1d730230ad0f4adfd7681c1fe4c8ac398bde (patch)
tree876164dea874742b50ad53ee14fa30473c20b930 /yjit.c
parent8f37e9c91814357f79911e208ef4d0d56dfa9433 (diff)
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 <maximechevalierb@gmail.com> * Get rid of side_effect reassignment Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Notes
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
Diffstat (limited to 'yjit.c')
-rw-r--r--yjit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/yjit.c b/yjit.c
index a834191070..facddcca0a 100644
--- a/yjit.c
+++ b/yjit.c
@@ -604,6 +604,12 @@ rb_get_iseq_flags_has_rest(const rb_iseq_t *iseq)
}
bool
+rb_get_iseq_flags_ruby2_keywords(const rb_iseq_t *iseq)
+{
+ return iseq->body->param.flags.ruby2_keywords;
+}
+
+bool
rb_get_iseq_flags_has_block(const rb_iseq_t *iseq)
{
return iseq->body->param.flags.has_block;