diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2023-01-31 12:28:09 -0500 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2023-01-31 14:29:18 -0500 |
| commit | eac5ae22e26e741b465527ab65017fda8890b6bf (patch) | |
| tree | 755e7283e60324ceceb3e2b4edbd0ef2e91adc90 | |
| parent | 4ce642620f10ae18171b41e166aaad3944ef482a (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.rs | 24 |
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; |
