YJIT: Group unimplemented method types together

Grouping these together helps with finding all of the unimplemented
method types. It was interleaved with some other match arm long and
short previously.
This commit is contained in:
Alan Wu 2023-01-31 12:28:09 -05:00
parent 4ce642620f
commit eac5ae22e2
Notes: git 2023-01-31 19:29:37 +00:00

View File

@ -5977,23 +5977,11 @@ fn gen_send_general(
}
return gen_send_bmethod(jit, ctx, asm, ocb, ci, cme, block, flags, argc);
}
VM_METHOD_TYPE_ZSUPER => {
gen_counter_incr!(asm, send_zsuper_method);
return CantCompile;
}
VM_METHOD_TYPE_ALIAS => {
// Retrieve the aliased method and re-enter the switch
cme = unsafe { rb_aliased_callable_method_entry(cme) };
continue;
}
VM_METHOD_TYPE_UNDEF => {
gen_counter_incr!(asm, send_undef_method);
return CantCompile;
}
VM_METHOD_TYPE_NOTIMPLEMENTED => {
gen_counter_incr!(asm, send_not_implemented_method);
return CantCompile;
}
// Send family of methods, e.g. call/apply
VM_METHOD_TYPE_OPTIMIZED => {
if flags & VM_CALL_ARGS_BLOCKARG != 0 {
@ -6212,6 +6200,18 @@ fn gen_send_general(
}
}
}
VM_METHOD_TYPE_ZSUPER => {
gen_counter_incr!(asm, send_zsuper_method);
return CantCompile;
}
VM_METHOD_TYPE_UNDEF => {
gen_counter_incr!(asm, send_undef_method);
return CantCompile;
}
VM_METHOD_TYPE_NOTIMPLEMENTED => {
gen_counter_incr!(asm, send_not_implemented_method);
return CantCompile;
}
VM_METHOD_TYPE_MISSING => {
gen_counter_incr!(asm, send_missing_method);
return CantCompile;