alanwu (Alan Wu)
- Login: alanwu
- Registered on: 10/28/2018
- Last sign in: 10/21/2026
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 2 | 33 | 35 |
| Reported issues | 3 | 51 | 54 |
Projects
| Project | Roles | Registered on |
|---|---|---|
| Ruby | Committer | 03/19/2021 |
Activity
11/05/2026
-
12:05 AM Ruby Revision 9573399e (git): ZJIT: Set INSTA_WORKSPACE_ROOT to save ~15ms per snapshot test
- Without this it shells out to `cargo metadata` which takes about ~15ms
per snapshot test. The costs add up quickly considering we give each
test a dedicated process. Setting this variable saves ~1.5s in a full
test run on my laptop.
11/04/2026
-
08:09 PM Ruby Revision 9f6a9d0a (git): ZJIT: A64: Use STADD for counters when LSE is available
- Use a single-instruction relaxed add instead of a retry loop (!) for
counters when Large System Extensions (LSE) are available. For
reference, Apple's M series chips all have LSE.
Implementation is straightforward thanks to Rust's
`is_a...
11/03/2026
-
10:38 PM Ruby Revision 70ad14ae (git): ZJIT: Make `side_exit_count` a default counter
- Previously, ZJIT required --zjit-stats for showing how many side exits
had been taken. As the first point of contact for ZJIT performance
observability, this info was too hidden, not least because --zjit-stats
has a significant probe eff... -
10:38 PM Ruby Revision 26d140fc (git): ZJIT: Add --zjit-no-exit-counting
11/02/2026
-
08:50 PM Ruby Revision b51db981 (git): ZJIT: Bitstream encoding for stack map unwind code (GH-19570)
- Use a simple `tag,payload` scheme with a variable length integer scheme
for the opcodes in zjit_jit_frame_t. The integer scheme (`varint`)
uses a set high bit to signal to read more.
This is setup work for having locals in the stack map... -
07:24 PM Ruby Revision 15314737 (git): ZJIT: Fix and then `deny(clippy::useless_conversion)`
-
07:24 PM Ruby Revision 36ba2601 (git): ZJIT: Remove identity `as` casts then `deny(clippy::useless_conversion)`
10/28/2026
-
07:34 PM Ruby Bug #22481 (Open): `break` in block passed to Method#to_proc cause [BUG] Stack consistency error
- ```ruby
def m(a) = yield(a)
def run = method(:m).to_proc.(7) { break }
p run
```
Found by fuzzing. Crashes all released versions and on trunk. I haven't investigated a fix.
10/27/2026
-
03:15 PM Ruby Bug #22476: rb_profile_frames() called from a signal handler segfaults while vm_make_env_each() is escaping a chain of frames
- CC @jhawthorn
This sounds very similar to the issue from https://github.com/ruby/ruby/pull/16615
10/26/2026
-
06:13 PM Ruby Feature #22474 (Feedback): Kernel#using (or BasicObject#using)
- > However, since any block is a lexical scope, why not allow using in any block?
Seems to be already addressed by #22097.