General

Profile

rwstauner (Randy Stauner)

  • Login: rwstauner
  • Registered on: 05/14/2024
  • Last sign in: 03/17/2026

Issues

open closed Total
Assigned issues 0 1 1
Reported issues 0 1 1

Projects

Project Roles Registered on
Ruby Contributor 03/03/2025

Activity

03/31/2026

09:48 PM Ruby Revision c9ae44e1 (git): set: fix Set#to_set block behavior and add regression test
rwstauner (Randy Stauner)
09:45 PM Ruby Revision bcddc56f (git): vm: avoid allocator lookup for singleton class initialize methods
This fixes a SIGABRT of Assertion Failed: RCLASS_ALLOCATOR:!RCLASS_SINGLETON_P(klass) rwstauner (Randy Stauner)

03/17/2026

03:29 PM Ruby Bug #21955: `Fiber#transfer`: machine stack not released when fiber terminates, causing `FiberError: can't set a guard page`
backport PR for 4.0: https://github.com/ruby/ruby/pull/16422
rwstauner (Randy Stauner)

03/06/2026

03:33 AM Ruby Revision 7a1d47ae (git): ZJIT: Remove duplicate CheckInterrupts within basic blocks (#16317)
Add a new optimization pass that eliminates redundant CheckInterrupts
instructions within each basic block. Only the first CheckInterrupts is
needed per stretch of non-call code, since the interrupt flag only needs
to be checked once. Th...
rwstauner (Randy Stauner)

03/04/2026

06:45 AM Ruby Revision 0cba8cf4 (git): YJIT: Bail out if proc would be stored above stack top
Fixes [Bug #21266].
Backport of 9168cad4d63a5d281d443bde4edea6be213b0b25 to 3.3
rwstauner (Randy Stauner)

02/25/2026

12:21 AM Ruby Revision da1daba0 (git): ZJIT: Refine effects for CheckInterrupts to InterruptFlag|Control (#16240)
CheckInterrupts only reads ec->interrupt_flag and conditionally
side-exits — it doesn't touch PatchPoint invariants or the allocator.
Add an InterruptFlag leaf under Memory in the abstract heap DAG and
narrow CheckInterrupts from Any to ...
rwstauner (Randy Stauner)

02/24/2026

10:36 PM Ruby Revision 7da57563 (git): ZJIT: Refine effects for IsBitNotEqual and FixnumBitCheck to Empty (#16237)
Both instructions are pure computations with no side effects:
IsBitNotEqual is a cmp+csel (identical to IsBitEqual, already Empty),
and FixnumBitCheck is a test+csel on a tagged Fixnum bit. Neither
reads memory, writes anything, allocate...
rwstauner (Randy Stauner)
03:06 AM Ruby Revision 997ac19b (git): ZJIT: Remove redundant PatchPoints within basic blocks (#16231)
Add a new optimization pass that deduplicates PatchPoint instructions
asserting the same invariant within a basic block when no intervening
instruction could invalidate it.
This is common in practice — e.g., `1 + 2 + 3` produces two ide...
rwstauner (Randy Stauner)

02/23/2026

08:31 PM Ruby Revision 2d8e24c8 (git): ZJIT: Guard receiver type in inline Array method handlers (#16141)
inline_array_push, inline_array_pop, and inline_array_aref did not
guard/coerce the receiver to Array type before emitting Array-specific
HIR instructions (ArrayPush, ArrayPop, ArrayLength, ArrayAref).
This caused a MismatchedOperandTyp...
rwstauner (Randy Stauner)

02/21/2026

12:58 PM Ruby Revision 727612b1 (git): ZJIT: Stabilize anonymous module/class names in stat keys and display (#16176)
Anonymous modules/classes get names like `"#<Module:0x00007f...>"` from `rb_class2name`, which include a memory address that changes between runs. This makes stat keys unstable for diffing across runs and is less informative than it coul... rwstauner (Randy Stauner)

Also available in: Atom