alanwu (Alan Wu)
- Login: alanwu
- Registered on: 10/28/2018
- Last sign in: 09/10/2026
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 6 | 28 | 34 |
| Reported issues | 1 | 50 | 51 |
Projects
| Project | Roles | Registered on |
|---|---|---|
| Ruby | Committer | 03/19/2021 |
Activity
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...
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...
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. -
06:27 PM Ruby Revision 0c7c2107 (git): YJIT: Skip btests that assume default GC on MMTk
-
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.
09/10/2026
-
08:01 PM Ruby Bug #22303 (Closed): EncodingError from interpolating symbol crashes whole process
- commit:5831948a66412922e1abafd2c38fd6400e420581
The `intern` instruction has been incorrectly marked `leaf=true` for a long time (3.3 through trunk) and its stack canary check crashes the whole runtime process.
The crash reliably h...
09/09/2026
-
09:25 PM Ruby Revision 81048db3 (git): YJIT: ZJIT: For init-time mmap failure, use abort() instead of rb_bug()
- It's not a bug to be out of memory. Though, the code did have a separate
bug: perror() can fail to write to stderr and set `errno` which made
the check that followed it questionable. When perror() succeeds it
could clobber `errno` anyway...
09/01/2026
-
08:47 PM Ruby Revision 18ef46d7 (git): ZJIT: Drop `PartialEq` from `FrameState`
- No one was actually doing equality comparison on `FrameState`s and it
was only derived because `FrameState` was in `ParseError::StackUnderflow`.
No one was reading the `FrameState` out of `StackUnderflow` either.
Save some binary size. -
03:35 PM Ruby Revision 4f53e5d5 (git): ZJIT: Skip failing `test_specialize_inlined_megamorphic_receiver`
- I tried fixing the test for a bit but it's not clear to me what the test
expects. Skip for now; I've pinged the author.
08/20/2026
-
09:32 PM Ruby Revision ba269a0e (git): ZJIT: Refine "same register" constraint for stp_pre and stp_post
- Follow-up to 64b9d2f84ec56278e32fff23e1b6cd20e04f8a9f. The commit removed the
check completely, because the conditions were incorrect, but there are in fact
situations where the instruction is unpredictable, namely when the pre/post
inde...