General

Profile

alanwu (Alan Wu)

  • Login: alanwu
  • Registered on: 10/28/2018
  • Last sign in: 02/13/2026

Issues

open closed Total
Assigned issues 4 24 28
Reported issues 1 49 50

Projects

Project Roles Registered on
Ruby Committer 03/19/2021

Activity

02/20/2026

04:04 PM Ruby Revision 906176ad (git): ZJIT: zjit-bisect.rb: Pass options with -T for `make test-spec`
It was passing options to the test harness rather than ruby(1). alanwu (Alan Wu)

02/18/2026

03:16 PM Ruby Revision ea7d3eb8 (git): YJIT: Fix always-failing guard for `super()` in BMETHODs
Previously, when dealing with a `super()` nested in a block that runs as
a method (through e.g. `define_method`), YJIT generated a guard that
never passes leading to a misidentification of the callsite as
megamorphic and an unconditional...
alanwu (Alan Wu)
03:16 PM Ruby Revision 219ad682 (git): ZJIT: Don't specialize `super` from within a block
As we found out from YJIT, `super` from within a block needs a loop for
the running CME guard, and the current LEP based guard always fails.
Don't specialize for now so we use the fallback instead of side-exiting.
alanwu (Alan Wu)

02/13/2026

05:05 PM Ruby Feature #21878: More file types: DOOR, PORT, WHITEOUT
Solaris mentioned, so I'm bringing up illumos. Ruby has an [OpenIndiana](https://www.ruby-lang.org/en/documentation/installation/#openindiana) port, so this could be tested there :P
https://illumos.org/man/3C/door_create
alanwu (Alan Wu)

01/29/2026

08:30 PM Ruby Revision cfa3a4a7 (git): ZJIT: Make printout and identifier name consistent for `Guard{AnyBit,NoBits}Set`
alanwu (Alan Wu)

01/21/2026

12:42 AM Ruby Revision 36809a8d (git): ZJIT: Add fail-fast assert for non-register {cpush,cpop}_pair
There is no splitting for these so let's add a assert to try and catch
misuse. VRegs are not necessarily registers in the end, so this is best
effort. In those situations they'll get a less proximate panic message.
alanwu (Alan Wu)

01/20/2026

09:37 PM Ruby Revision 1bc51114 (git): ZJIT: Add a smoke test for --zjit-trace-exits
Better than nothing! alanwu (Alan Wu)
09:37 PM Ruby Revision 631a5076 (git): ZJIT: Delete Insn::CPushAll and Insn::CPopAll
Since we automatically preserve registers across calls, it's never
necessary to manually and imprecisely do it with `C{Push,Pop}All`.
Delete them to remove the maintenance burden and reduce confusion.
alanwu (Alan Wu)
03:47 AM Ruby Revision 826dbcfb (git): ZJIT: A64: Remove nop padding after conditional branches
Previously, there were a lot of nops after conditional branches. They
come from branch to LIR labels:
./miniruby --zjit-call-threshold=1 --zjit-dump-disasm -e 'Object || String'
# Insn: v14 CheckInterrupts
# RUBY_VM_CHECK_I...
alanwu (Alan Wu)

01/19/2026

08:17 PM Ruby Revision 6f890976 (git): JITs: Fix comment about ARM64 stack growth direction [ci skip]
alanwu (Alan Wu)

Also available in: Atom