summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2023-01-31 12:28:09 -0500
committerAlan Wu <XrXr@users.noreply.github.com>2023-01-31 14:29:18 -0500
commiteac5ae22e26e741b465527ab65017fda8890b6bf (patch)
tree755e7283e60324ceceb3e2b4edbd0ef2e91adc90
parent4ce642620f10ae18171b41e166aaad3944ef482a (diff)
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.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7210
-rw-r--r--yjit/src/codegen.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index 27ef30e410..7fd94f746f 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -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;