* 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)
When we call `asm.load`, many times we're passing in a VReg, and that causes extra loads when we lower to machine code. I'd like to only emit a load in the case that the operand _isn't_ a VReg. For example this code: ```ruby class Foo...tenderlovemaking (Aaron Patterson)
Array access has guards that the array index is greater than or equal to zero. In the case of code like `array[123]`, we know at compile time that 123 is greater than 0. Since we're now eagerly unboxing integers, we can fold this guard...tenderlovemaking (Aaron Patterson)
I noticed that we're generating machine code that unboxes fixnum constants. Since the fixnum is constant, and known at compile time, we can unbox it eagerly and convert it to a Const CInt64tenderlovemaking (Aaron Patterson)
Applied in changeset commit:git|ab32c0e690b805cdaaf264ad4c3421696c588204. ---------- Allow reading cvars from non-main Ractors (#16308) Today you can read instance variables from non-main Ractors, but many Rails applications use cvars,...tenderlovemaking (Aaron Patterson)
Today you can read instance variables from non-main Ractors, but many Rails applications use cvars, and we cannot read them. For example: ```ruby class Foo # This is NOT allowed to be read in non-main Ractors @@bar = 123 def self...tenderlovemaking (Aaron Patterson)
* add rpo to LIR cfg * add instruction ids to instructions along with start / end indexes on blocks * Analyze liveness of vregs * We don't need to check kill set before adding to gen set Since we're processing instructions in reverse...tenderlovemaking (Aaron Patterson)
ZJIT: Add an option to --zjit-dump-disasm to dump code to a folder This commit adds an option to `--zjit-dump-disasm` so that you can dump compiled code to a folder (similar to the behavior of yjit). For example: ``` $ ruby --zjit-dum...tenderlovemaking (Aaron Patterson)
[ZJIT]: introduce a BreakPoint instruction to HIR It's nice for debugging to be able to emit a breakpoint from HIR. I would like to introduce this instruction so that we can do that.tenderlovemaking (Aaron Patterson)