From be08e1b14c25979f8727edde70b37fc48b808cac Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Wed, 12 Apr 2023 16:32:07 -0700 Subject: [PATCH] RJIT: argc check in known cfuncs --- lib/ruby_vm/rjit/insn_compiler.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ruby_vm/rjit/insn_compiler.rb b/lib/ruby_vm/rjit/insn_compiler.rb index 906743ae0f..1788b20c3a 100644 --- a/lib/ruby_vm/rjit/insn_compiler.rb +++ b/lib/ruby_vm/rjit/insn_compiler.rb @@ -4937,7 +4937,7 @@ module RubyVM::RJIT end # Delegate to codegen for C methods if we have it. - if kw_arg.nil? && flags & C::VM_CALL_OPT_SEND == 0 + if kw_arg.nil? && flags & C::VM_CALL_OPT_SEND == 0 && flags & C::VM_CALL_ARGS_SPLAT == 0 && (cfunc_argc == -1 || argc == cfunc_argc) known_cfunc_codegen = lookup_cfunc_codegen(cme.def) if known_cfunc_codegen&.call(jit, ctx, asm, argc, known_recv_class) # cfunc codegen generated code. Terminate the block so