`install_location` is a hot path during gem installation. I want to make the method private so that we can freely refactor it. This commit makes it private and ports the tests to use integration tests instead of directly calling the met...tenderlovemaking (Aaron Patterson)
headius (Charles Nutter) wrote in #note-4: > Is your benchmark published somewhere? Ya, we're working with them [here](https://github.com/Shopify/lz4-flex-rb/pull/71)tenderlovemaking (Aaron Patterson)
BTW, this proposal also fixes a possible regression (though I don't think anyone cares about this case). Given this code: ```ruby class String def initialize foo: p "hi" super() end end String.new(foo: 123) ``...tenderlovemaking (Aaron Patterson)
ko1 (Koichi Sasada) wrote in #note-1: > Does it affect app performance? I don't think it slows down any applications since all cases of `String.new` are faster. But I also think it's rare for any application to call `String.new` so I...tenderlovemaking (Aaron Patterson)
I would like to introduce a new YARV instruction, `opt_string_new`. It's similar to `opt_new`, but it is specialized for strings. Today, we [define the `new` method on `String`](https://github.com/ruby/ruby/blob/5d1a0239de4934cb38b0f...tenderlovemaking (Aaron Patterson)
Before this commit we were lumping all getivar fallback reasons in to one counter. This made it very hard to find the most popular reasons for why we're doing slowpath IV reads. This commit just adds more counters and splits up the fall...tenderlovemaking (Aaron Patterson)
* 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)