* ZJIT: ivar code cleanup I just wanted to clean up some of the IV handling code in ZJIT. If classes, modules, or TDATA have instance variables, and they aren't "too complex", the instance variables will always be in an external buffer....tenderlovemaking (Aaron Patterson)
* ZJIT: Use shape id as cache key for object layout Since #17158, we can use the shape id as our cache key for determining object layout. This patch changes ZJIT to use shape id instead of testing all bits. Given this program: ```rub...tenderlovemaking (Aaron Patterson)
* ZJIT: Fix cases where we need to super to C functions with >6 params Previously ZJIT was crashing in cases where we need to `super` in to a cfunc. The issue is that we didn't handle C functions with more than the calling convention pa...tenderlovemaking (Aaron Patterson)
* Reserve 2 bits for expressing object layout We would like to make instance variable reads in the JIT compiler faster (as well as simplify the JIT implementation). Currently, in order to read an instance variable, we have to: 1. Test...tenderlovemaking (Aaron Patterson)
* ZJIT: Fix exit tracing so that recompiles still happen Before this commit, exit tracing would not allow recompiles to happen. Exit tracing works by installing custom exit handlers in order to trace exit locations. Recompilation also ...tenderlovemaking (Aaron Patterson)
* Swap conditionals so HIR -> LIR is easier We're going to give HIR regular BBs which means each block can end with up to two jump instructions. IfTrue/IfFalse will always be followed by a Jump, so when we lower to LIR this change will...tenderlovemaking (Aaron Patterson)
Unreachable instructions terminate blocks. We'll use this mostly for testing as a terminator instruction (since traditional BB's will require all blocks to end with a terminator)tenderlovemaking (Aaron Patterson)
* ZJIT: Support nil block parameters zjit-stats for the ActiveRecord benchmark used to look like this: ``` Top-8 popular complex argument-parameter features not optimized (100.0% of total 2,351,376): param_block: 2,157,030 (91....tenderlovemaking (Aaron Patterson)