General

Profile

alanwu (Alan Wu)

  • Login: alanwu
  • Registered on: 10/28/2018
  • Last sign in: 05/18/2026

Issues

open closed Total
Assigned issues 4 25 29
Reported issues 1 49 50

Projects

Project Roles Registered on
Ruby Committer 03/19/2021

Activity

05/26/2026

05:04 PM Ruby Revision dc0bb7a5 (git): YJIT: Use rb_reg_new_from_values() instead of rb_reg_new_ary()
To sync up with ZJIT and insns.def. alanwu (Alan Wu)
05:04 PM Ruby Revision b1bf8f31 (git): ZJIT: Delete binding for unused rb_reg_new_ary()
alanwu (Alan Wu)
05:04 PM Ruby Revision e4cba2df (git): Delete now-unused rb_reg_new_ary()
No more usages outside re.c, so let's clean it up. Thanks to @nobu for
noticing!
alanwu (Alan Wu)

05/19/2026

08:26 PM Ruby Revision 8267e508 (git): ZJIT: x64: Prefer 7-byte sign extending `mov` over 10-byte `movabs`
Relevant for small negative immediates. Previously:
# Insn: v16 SetLocal l1, EP@3, v10
mov rsi, qword ptr [r13 + 0x20]
mov rsi, qword ptr [rsi - 8]
and rsi, 0xfffffffffffffffc
# call rb_vm_env_write
push rdi
push rdi
mov...
alanwu (Alan Wu)

05/18/2026

10:22 PM Ruby Bug #22073 (Third Party's Issue): Ruby 3.4.9 segfaults when loading native default gems compiled on Ubuntu 26.04 (GCC 15.2); Ruby 4.0.3 unaffected on same system
Thanks for reporting back! alanwu (Alan Wu)

05/07/2026

08:04 PM Ruby Revision c133f51e (git): ZJIT: Remove from `Invariants` on invalidation
Previously, we kept around `PatchPoint`s after patching them for several
kinds of invariants. That wasted compute since repeated invalidation
with the same key patched a growing list of patchpoints each time,
making it accidentally O(n^2...
alanwu (Alan Wu)

04/30/2026

12:08 AM Ruby Revision d61424bb (git): ZJIT: More recognizable JIT return poison, assert only when RUBY_DEBUG
A good poison value gives a recognizable fault address if someone
erroneously dereferences. Asserting the pointer is not poison shouldn't
be necessary, so move it to RUBY_DEBUG builds.
alanwu (Alan Wu)

04/29/2026

10:22 PM Ruby Revision 4d56fc62 (git): YJIT: Replace std::mem::transmute with pointer casting
As the documentation puts it, transmute is "incredibly unsafe". We can
express what we need to with pointer casts in these closure FFI
situations, so let's use pointer casts.
alanwu (Alan Wu)
10:22 PM Ruby Revision acbc0ce5 (git): ZJIT: Replace std::mem::transmute with pointer casting
As the documentation puts it, transmute is "incredibly unsafe". We can
express what we need to with pointer casts in these closure FFI
situations, so let's use pointer casts.
alanwu (Alan Wu)
10:22 PM Ruby Revision 62e59f2a (git): ZJIT: Prefer raw pointer over references in with_ruby_vm()
When references show up on in the type declaration, it's an invitation
to think about how long the implicit lifetime is. This code
doesn't do anything tricky lifetime-wise, so it looks better declaring
only raw pointers.
alanwu (Alan Wu)

Also available in: Atom