We don't specialize invokesuper at all, but we should.
- Profile
invokesuper. Consider adding counters for its most frequent method types (ISEQ, cfunc, ...)
- Specialize the most frequent method type. It needs to resolve
cme differently, but other parts would look similar to existing instructions.
- If it's ISEQ, it can be implemented like
Insn::SendWithoutBlockDirect.
- If it's cfunc, it can be implemented as
CCall/CCallVariadic.
- See also: YJIT's
gen_invokesuper_specialized
We don't specialize invokesuper at all, but we should.
invokesuper. Consider adding counters for its most frequent method types (ISEQ, cfunc, ...)cmedifferently, but other parts would look similar to existing instructions.Insn::SendWithoutBlockDirect.CCall/CCallVariadic.gen_invokesuper_specialized