diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-02-08 14:24:10 -0800 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-05 22:11:20 -0800 |
commit | fa9a0cb970ced2ead175392bfde89a952e710dd0 (patch) | |
tree | e757483aca0ea1029081a5551186cb48865de737 /lib | |
parent | 64074ca4dfa7cc12e5966e6e763b2794bd97aecc (diff) | |
download | ruby-fa9a0cb970ced2ead175392bfde89a952e710dd0.tar.gz |
Count unsupported method types
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ruby_vm/mjit/insn_compiler.rb | 29 |
1 files changed, 28 insertions, 1 deletions
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 |