General

Profile

tenderlovemaking (Aaron Patterson)

Issues

open closed Total
Assigned issues 31 254 285
Reported issues 30 132 162

Projects

Project Roles Registered on
Ruby Committer 11/13/2009

Activity

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)

12/18/2025

10:43 PM Ruby Feature #21785 (Closed): Add signed and unsigned LEB128 support to pack / unpack
Applied in changeset commit:git|d0b72429a93e54f1f956b4aedfc25c57dc7001aa.
----------
Add support for signed and unsigned LEB128 to pack/unpack.
This commit adds a new pack format command `R` and `r` for unsigned and
signed LEB128 encod...
tenderlovemaking (Aaron Patterson)

Also available in: Atom