RJIT: Follow a recent CALLER_SETUP_ARG change

This commit is contained in:
Takashi Kokubun 2023-03-21 22:12:43 -07:00
parent 38946209a7
commit 7947920ee7
2 changed files with 10 additions and 6 deletions

View File

@ -4807,13 +4807,16 @@ module RubyVM::RJIT
# @param ctx [RubyVM::RJIT::Context]
# @param asm [RubyVM::RJIT::Assembler]
def jit_caller_setup_arg(jit, ctx, asm, flags)
if flags & C::VM_CALL_ARGS_SPLAT != 0
# We don't support vm_caller_setup_arg_splat
if flags & C::VM_CALL_ARGS_SPLAT != 0 && flags & C::VM_CALL_KW_SPLAT != 0
asm.incr_counter(:send_args_splat_kw_splat)
return CantCompile
elsif flags & C::VM_CALL_ARGS_SPLAT != 0
asm.incr_counter(:send_args_splat)
return CantCompile
end
if flags & (C::VM_CALL_KWARG | C::VM_CALL_KW_SPLAT) != 0
# We don't support keyword args either
elsif flags & C::VM_CALL_KW_SPLAT != 0
asm.incr_counter(:send_args_kw_splat)
return CantCompile
elsif flags & C::VM_CALL_KWARG != 0
asm.incr_counter(:send_kwarg)
return CantCompile
end

View File

@ -20,10 +20,11 @@ RJIT_RUNTIME_COUNTERS(
vm_insns_count,
rjit_insns_count,
send_args_splat_kw_splat,
send_args_splat,
send_klass_megamorphic,
send_kw_splat,
send_kwarg,
send_klass_megamorphic,
send_missing_cme,
send_private,
send_protected_check_failed,