General

Profile

tenderlovemaking (Aaron Patterson)

Issues

open closed Total
Assigned issues 32 255 287
Reported issues 30 132 162

Projects

Project Roles Registered on
Ruby Committer 11/13/2009

Activity

02/25/2026

09:44 PM Ruby Revision 9ab1dfad (git): ZJIT: Decouple gen_function_stub and gen_function_stub_hit_trampoline (#16249)
Before this change, gen_function_stub and
gen_function_stub_hit_trampoline communicated via a scratch register.
We would like gen_function_stub_hit_trampoline to have more freedom with
regard to the registers it uses, especially for the ...
tenderlovemaking (Aaron Patterson)

02/12/2026

11:11 PM Ruby Feature #21785 (Closed): Add signed and unsigned LEB128 support to pack / unpack
Applied in changeset commit:git|c61f52a012f0a390a869db4825143187ea468d21.
----------
[Feature #21785] Add LEB128 again (#16123)
* Revert "Revert pack/unpack support for LEB128"
This reverts commit 77c3a9e447ec477be39e00072e1ce3348d0f4...
tenderlovemaking (Aaron Patterson)
11:11 PM Ruby Revision c61f52a0 (git): [Feature #21785] Add LEB128 again (#16123)
* Revert "Revert pack/unpack support for LEB128"
This reverts commit 77c3a9e447ec477be39e00072e1ce3348d0f4533.
* Update specs for LEB128
tenderlovemaking (Aaron Patterson)

02/09/2026

11:10 PM Ruby Misc #21839: DevMeeting-2026-02-12
* [Feature #21785] Add LEB128 pack / unpack
* Are we OK to merge now? I think yes, but want to check
* [Feature #21796] Add pack directive to return offset `^`
* This would be useful with LEB128, as well as other directives that ...
tenderlovemaking (Aaron Patterson)

02/05/2026

02:31 AM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
Is it OK if I merge this again?
Thanks
tenderlovemaking (Aaron Patterson)

01/29/2026

08:43 PM Ruby Revision d9cc3c27 (git): ZJIT: Remove PadPatchPoint instructions when lowering to LIR (#15974)
Basic blocks in LIR should only ever end in control flow instructions such as jump or return. PadPatchPoint is not control flow, so we should not emit it at the end of blocks when lowering. tenderlovemaking (Aaron Patterson)

01/26/2026

08:47 PM Ruby Revision 2605d4e5 (git): ZJIT: Extract VRegId from a usize
We would like to do type matching on the VRegId. Extracting the VRegID
from a usize makes the code a bit easier to understand and refactor.
MemBase uses a VReg, and there is also a VReg in Opnd. We should be
sharing types between these...
tenderlovemaking (Aaron Patterson)

01/21/2026

07:00 PM Ruby Revision 6d0b47de (git): ZJIT: Add a CFG to the LIR backend (#15879)
We want to use [linear scan register allocation](https://bernsteinbear.com/blog/linear-scan/), but a prerequisite is having a CFG available. Previously LIR only had a linear block of instructions, this PR introduces a CFG to the LIR bac... tenderlovemaking (Aaron Patterson)

12/19/2025

05:22 PM Ruby Feature #21796: unpack variant that returns the final offset
I really like this idea. @jhawthorn suggested `^` instead of `o` though, and I really like it.
```ruby
bytes = "\x01\x02\x03"
offset = 0
leb128_value1, offset = bytes.unpack("R^", offset: offset) #=> 1
leb128_value2, offset = byt...
tenderlovemaking (Aaron Patterson)
01:57 AM Ruby Revision 68a900e3 (git): add news for pack / unpack directives
tenderlovemaking (Aaron Patterson)

Also available in: Atom