tekknolagi (Maxwell Bernstein) - Ruby Issue Tracking System
- Login: tekknolagi
- Email: max@bernsteinbear.com, rubybugs@bernsteinbear.com, max.bernstein@shopify.com
- Registered on: 12/12/2014
- Last sign in: 02/11/2026
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