General

Profile

alanwu (Alan Wu)

  • Login: alanwu
  • Registered on: 10/28/2018
  • Last sign in: 09/22/2026

Issues

open closed Total
Assigned issues 5 29 34
Reported issues 1 51 52

Projects

Project Roles Registered on
Ruby Committer 03/19/2021

Activity

09/24/2026

06:01 PM Ruby Revision ff03ecf3 (git): ZJIT: Print `PatchPoint` reference to `Insn::Snapshot` when printing snapshots
So both the definition and the usage are shown. Note that this
is only when, say, `--zjit-dump-hir=all`, where both ends are present.
alanwu (Alan Wu)

09/23/2026

10:05 PM Ruby Revision a8bc3cf5 (git): ZJIT: Add test_setlocal_getlocal_no_operands_unification
alanwu (Alan Wu)
10:05 PM Ruby Revision 882e54f4 (git): ZJIT: Treat `getlocal` and `setlocal` uniformly with `*_WC_*` variants
Previously, `setlocal level=0` did not set the local in the frame state
during HIR build, unlike `setlocal_WC_0`. `getlocal` and `getlocal_WC_0`
had the same issue.
I don't know if it's possible to trigger an ZJIT issue with default
ise...
alanwu (Alan Wu)
06:24 PM Ruby Bug #22335: Stack corruption with >31 keyword args and refined Integer#==
> Not an area of ruby I'm very familiar with, but I think perhaps we should also be extending sp in vm_callee_setup_arg and vm_call_iseq_setup_kwparm_kwarg?
These don't extend SP because they're fast paths that try to do minimal work...
alanwu (Alan Wu)

09/22/2026

11:17 PM Ruby Bug #22377 (Closed): compile.c: `getlocal` not turned into `getlocal_WC_0`
Missed by the "operands_unification" pass, somehow.
See 0023 below:
```text
$ ./miniruby --parser=parse.y --dump=insns -e '
assign = ->(outer) {
m = Module.new
m.set_temporar...
alanwu (Alan Wu)

09/18/2026

06:16 PM Ruby Revision a19a922f (git): YJIT: ZJIT: Abort faster when mmap(2) persistently fails in rb_jit_reserve_addr_space()
Previously, the loop condition checked the wrong direction so required
wrapping around the address space to break out the loop. It takes
a few seconds to do a few million mmap calls to loop around and then crash.
A way to test this is by...
alanwu (Alan Wu)

09/14/2026

08:16 PM Ruby Bug #22253: Clang UBSan reports NULL/0 memcpy for eval scope locals
Still worth fixing, but I think on the ruby side we do `#define memcpy ruby_nonempty_memcpy` exactly to avoid this UB.
``` c
/* At least since 2004, glibc's <string.h> annotates memcpy to be
* __attribute__((__nonnull__(1, 2))). Howev...
alanwu (Alan Wu)

09/11/2026

06:42 PM Ruby Revision 7c66bea5 (git): YJIT: Stop referencing GC internal constant in a WB test
This way it works on MMTk. The voodo tied to default GC details for
promotions and write-barriers don't test effectively on any other GC but
at least the test completes.
alanwu (Alan Wu)
06:27 PM Ruby Revision 0c7c2107 (git): YJIT: Skip btests that assume default GC on MMTk
alanwu (Alan Wu)
01:33 PM Ruby Revision a0f1aa88 (git): ZJIT: s/side_exit_size/side_exit_size_bytes/ for consistency
Other code size metrics such as `code_region_bytes` use the `_bytes`
suffix and `side_exit_size` was the odd one out.
alanwu (Alan Wu)

Also available in: Atom