tekknolagi (Maxwell Bernstein) - Ruby Issue Tracking System

Issues

open closed Total
Assigned issues 4 40 44
Reported issues 0 2 2

Projects

Project Roles Registered on
Ruby Committer 06/06/2025

Activity

Today

09:58 PM Ruby Revision 993c7a27 (git): ZJIT: Don't use find() in clean_cfg (#16284)
We don't need to materialize an instruction or even look at its
operands.
09:35 PM Ruby Revision 2ccb44c1 (git): ZJIT: Don't use find() in infer_types (#16283)
No need to materialize the whole instruction; if/when we need the
operands, do the union-find lookup per operand. This saves on allocation
time.
tekknolagi (Maxwell Bernstein)
09:06 PM Ruby Revision a81c3eb7 (git): ZJIT: Use LoadField for TypedData ivars (#16259)
Drops C calls to `rb_ivar_get_at_no_ractor_check` out of the stats completely.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
tekknolagi (Maxwell Bernstein)

02/27/2026

08:00 PM Ruby Revision c57d594f (git): ZJIT: Use LoadField for Class/Module ivars (#16252)
Assume only one box (root box) and invalidate otherwise. Drops C calls to `rb_ivar_get_at_no_ractor_check`.
Before:
```
Top-20 calls to C functions from JIT code (77.3% of total 64,311,573):
rb_vm_opt_send_w...
tekknolagi (Maxwell Bernstein)
05:43 PM Ruby Revision 5d87dd6d (git): ZJIT: Handle splatkw YARV instruction (#16267)
The most common cases are nil and hash, so just cover those. If we need to convert to a hash, we can handle that later. tekknolagi (Maxwell Bernstein)

02/25/2026

05:08 PM Ruby Revision b52cb82d (git): ZJIT: Format negative offsets as small negative hex values (#16248)
Before:
Optimized HIR:
fn block in <main>@benchmarks/setivar.rb:40:
bb1():
EntryPoint interpreter
v1:BasicObject = LoadSelf
Jump bb3(v1)
bb2():
EntryPoint JIT(0)
v4:BasicObject = LoadArg :se...
tekknolagi (Maxwell Bernstein)

02/24/2026

10:43 PM Ruby Revision f1c2fafa (git): ZJIT: Ratchet down Guard* effects (#16236)
Guards don't write to (e.g. PatchPoint) memory, just change if we
side-exit into the interpreter or not, so lower their effects.
tekknolagi (Maxwell Bernstein)
10:35 PM Ruby Revision 7e028b86 (git): ZJIT: Pull out GetEP from IsBlockParamModified (#16234)
We can hopefully de-duplicate this GetEP soon. tekknolagi (Maxwell Bernstein)

02/18/2026

04:34 AM Ruby Revision e9806c21 (git): ZJIT: Count side-exit code size and report ratio to code region (#16191)
railsbench stats:
side_exit_size: 5,340,736
code_region_bytes: 15,122,432
side_exit_size_ratio: 35.3%
tekknolagi (Maxwell Bernstein)

02/10/2026

06:47 PM Ruby Revision c272297e (git): ZJIT: Use worklist algorithm for type inference (#16122)
## Summary
- Replace the RPO fixed-point iteration in `infer_types` with a worklist-based approach
- Instead of re-scanning every reachable block on each iteration, only re-process blocks whose incoming types actually changed
- Add `BitS...
tekknolagi (Maxwell Bernstein)

Also available in: Atom