From fa9a0cb970ced2ead175392bfde89a952e710dd0 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Wed, 8 Feb 2023 14:24:10 -0800 Subject: Count unsupported method types --- lib/ruby_vm/mjit/insn_compiler.rb | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'lib/ruby_vm') diff --git a/lib/ruby_vm/mjit/insn_compiler.rb b/lib/ruby_vm/mjit/insn_compiler.rb index 8f1586efef..2606f84c6c 100644 --- a/lib/ruby_vm/mjit/insn_compiler.rb +++ b/lib/ruby_vm/mjit/insn_compiler.rb @@ -992,8 +992,35 @@ module RubyVM::MJIT case cme.def.type when C.VM_METHOD_TYPE_ISEQ jit_call_iseq_setup(jit, ctx, asm, ci, cme, flags, argc) + # when C.VM_METHOD_TYPE_NOTIMPLEMENTED + when C.VM_METHOD_TYPE_CFUNC + asm.incr_counter(:send_cfunc) + return CantCompile + when C.VM_METHOD_TYPE_ATTRSET + asm.incr_counter(:send_attrset) + return CantCompile + when C.VM_METHOD_TYPE_IVAR + asm.incr_counter(:send_ivar) + return CantCompile + # when C.VM_METHOD_TYPE_MISSING + when C.VM_METHOD_TYPE_BMETHOD + asm.incr_counter(:send_bmethod) + return CantCompile + when C.VM_METHOD_TYPE_ALIAS + asm.incr_counter(:send_alias) + return CantCompile + when C.VM_METHOD_TYPE_OPTIMIZED + asm.incr_counter(:send_optimized) + return CantCompile + # when C.VM_METHOD_TYPE_UNDEF + when C.VM_METHOD_TYPE_ZSUPER + asm.incr_counter(:send_zsuper) + return CantCompile + when C.VM_METHOD_TYPE_REFINED + asm.incr_counter(:send_refined) + return CantCompile else - asm.incr_counter(:send_not_iseq) + asm.incr_counter(:send_not_implemented_type) return CantCompile end end -- cgit v1.2.3