General

Profile

eightbitraptor (Matt V-H)

Issues

open closed Total
Assigned issues 3 19 22
Reported issues 2 31 33

Projects

Project Roles Registered on
Ruby Committer 03/09/2023

Activity

09/07/2026

09:58 PM Ruby Revision 0a87db47 (git): Release empty heap pages under one pool lock
heap_pages_free_unused_pages called heap_page_free once per empty
page, and each call took page_pool.lock twice: once in
global_page_index_remove and once in page_pool_release. A full drain
of N pages cost 2N lock cycles
This commit li...
eightbitraptor (Matt V-H)
09:58 PM Ruby Revision ac44788f (git): Use ERRORCHECK to assert the page pool mutex
This commit initializes the page_pool.lock with PTHREAD_MUTEX_ERRORCHECK
in RGENGC_CHECK_MODE builds and asserts that the the mutex lock is
EDEADLK.
eightbitraptor (Matt V-H)
09:58 PM Ruby Revision ada2be0b (git): Take the pool lock once for non-mmap batch page release
heap_pages_free_batch locked page_pool.lock once per page on the
non-mmap path, through global_page_index_remove.
eightbitraptor (Matt V-H)
09:53 PM Ruby Feature #22277: Make `rb_gc_register_address` Ractor-local
Eregon (Benoit Daloze) wrote in #note-3:
> eightbitraptor (Matt V-H) wrote:
> ...
After discussing with @ko1 we've decided not to restrict this API to the main Ractor, I'll come on to this later.
> To achieve that, isn't there still...
eightbitraptor (Matt V-H)

09/06/2026

08:38 AM Ruby Revision c8e05b58 (git): [Backport #22257] Fix stale super cache on prepend after include
Prepending a module to a module that already has includers backfills an
origin iclass into each includer's ancestor chain using rb_prepend_module.
The backfilled iclass is never added to a subclasses list, so
rb_clear_method_cache can't...
eightbitraptor (Matt V-H)

08/28/2026

05:02 PM Ruby Bug #22263: NoMethodError: super: no superclass method 'require' for main — raised in a forked child process after a Ractor has exited in the parent (bisected to c59c4d717a)
I've just encountered this issue with the following repro:
```
Ractor.new { 1 }.value
Kernel.module_eval { alias old_require require }
old_require 'tempfile'
```
Thanks @luke-gru for pointing this ticket out to me.
I ended u...
eightbitraptor (Matt V-H)
12:48 PM Ruby Feature #22277 (Open): Make `rb_gc_register_address` Ractor-local
## Summary
[Github PR #18393](https://github.com/ruby/ruby/pull/18393)
`rb_gc_register_address` stores its entries in a single VM-wide list. This means that every Ractor local GC walks the list under a VM wide lock, which causes co...
eightbitraptor (Matt V-H)

08/27/2026

04:41 PM Ruby Misc #22272: Propose Kevin Menard (@nirvdrum) as a core committer
+1 Kevin is a very experienced and thoughtful developer. He'd be a great asset to the CRuby committers. eightbitraptor (Matt V-H)

08/21/2026

09:17 PM Ruby Bug #22257 (Closed): Prepending a module to an already-included module leaves stale super caches
Applied in changeset commit:git|06611602a958ebe1126be3a5cb151f3c2c8bffcc.
----------
[Backport #22257] Fix stale super cache on prepend after include
Prepending a module to a module that already has includers backfills an
origin iclass...
eightbitraptor (Matt V-H)
09:17 PM Ruby Revision 06611602 (git): [Backport #22257] Fix stale super cache on prepend after include
Prepending a module to a module that already has includers backfills an
origin iclass into each includer's ancestor chain using rb_prepend_module.
The backfilled iclass is never added to a subclasses list, so
rb_clear_method_cache can't...
eightbitraptor (Matt V-H)

Also available in: Atom