tekknolagi (Maxwell Bernstein)
- 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
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%
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...
02/09/2026
-
09:40 PM Ruby Revision 9efe557d (git): ZJIT: Drop has_blockiseq guard on local variable access (#16113)
- So `has_blockiseq` was masking two other bugs.
First, that we had only a static EP escape check for an iseq. We need to check
both that an iseq is not known to statically escape them *and that it has not
escaped them before*. Only then ... -
05:52 PM Ruby Revision 4d13aeb3 (git): ZJIT: Make defined?(yield) in non-method local iseq emit const nil (#16063)
- No sense doing this in codegen; we can pull this up to the HIR level.
-
05:40 PM Ruby Revision 21862be0 (git): ZJIT: Add mask_name to GuardXYZBitsSet (#16064)
- This makes HIR easier to debug.
02/04/2026
-
06:04 PM Ruby Revision 91672629 (git): ZJIT: Upgrade self to HeapBasicObject after setinstancevariable (#16065)
- If self is an immediate, setinstancevariable would have raised.
Therefore we can conclude that self must not be an immediate. This helps
us match YJIT type upgrades (YJIT will upgrade to UnknownHeap or
something similar). -
03:42 PM Ruby Revision 5571212f (git): ZJIT: Remove specialized instructions (#16034)
- * ZJIT: Fix codegen for GuardSuperMethodEntry
We need to register the VALUE in the generated code so that it is
visible to the GC. This may be the cause of a crash in the test suite
that Alan found.
* ZJIT: Use LoadField+GuardBitEquals...
01/30/2026
-
05:29 PM Ruby Revision 1298f9ac (git): ZJIT: Support CFunc inlining in InvokeSuper (#16004)
- Also generally make the CFunc process look more like `optimize_c_calls`.
01/29/2026
-
07:24 PM Ruby Revision acc41457 (git): ZJIT: Support inlining send-with-block (#15998)
- Autosplat only happens due to `yield` or `.call`, neither of which is permitted in our trivial inliner.
-
06:02 PM Ruby Revision 33d82847 (git): ZJIT: Support polymorphic send without block (#15949)
- Break out the different cases into different blocks in the bytecode to HIR parser. Use a `RefineType` to plumb the case's type through so the type specialization can see it. Then join the logic back to the rest of the current block after...