RJIT: argc check in known cfuncs
This commit is contained in:
parent
0ce2bdc76d
commit
be08e1b14c
Notes:
git
2023-04-13 00:48:59 +00:00
@ -4937,7 +4937,7 @@ module RubyVM::RJIT
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Delegate to codegen for C methods if we have it.
|
# 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)
|
known_cfunc_codegen = lookup_cfunc_codegen(cme.def)
|
||||||
if known_cfunc_codegen&.call(jit, ctx, asm, argc, known_recv_class)
|
if known_cfunc_codegen&.call(jit, ctx, asm, argc, known_recv_class)
|
||||||
# cfunc codegen generated code. Terminate the block so
|
# cfunc codegen generated code. Terminate the block so
|
||||||
|
Loading…
x
Reference in New Issue
Block a user