General

Profile

eightbitraptor (Matt V-H)

Issues

open closed Total
Assigned issues 1 19 20
Reported issues 1 30 31

Projects

Project Roles Registered on
Ruby Committer 03/09/2023

Activity

Today

09:35 AM Ruby Revision fd492edd (git): Fix spurious uses of BASE_SLOT_SIZE
In gc_sweep_plane, VALGRIND_MAKE_MEM_UNDEFINED was using BASE_SLOT_SIZE
which only covers the smallest pool's slot size. For larger size pools
this left the tail of the slot with stale state. Use the page's actual
slot_size instead.
In ...
eightbitraptor (Matt V-H)

02/21/2026

04:12 AM Ruby Revision 623f33d9 (git): Relax test_thrashing_for_young_objects to fix CI flake
This test has been failing intermittently on multiple CI platforms
(Debian 13, RHEL 9/10, Ubuntu aarch64) with heap_allocated_pages
growing from 100 to 130, or major_gc_count incrementing by 1.
Failing run: https://rubyci.s3.amazonaws.c...
eightbitraptor (Matt V-H)

02/20/2026

11:12 PM Ruby Revision a8cb7292 (git): Remove NUM_IN_PAGE macro
This is being used to calculate the starting point of the slots in a
page in order to make them evenly divisible by a bitmap plane.
Since https://github.com/ruby/ruby/pull/16150 we restructured the
bitmaps in order to pack them such tha...
eightbitraptor (Matt V-H)

02/19/2026

11:22 PM Ruby Revision e6f73fcf (git): Remove HEAP_PAGE_OBJ_LIMIT
This was useful when there was only a single size pool to have an easy
way of referencing the average number of objects a page could hold (this
would vary by a few in real terms because of page alignment).
But with multiple heaps, each ...
eightbitraptor (Matt V-H)
10:24 PM Ruby Revision 7ca0aa5f (git): Copy terminator when moving strings to the heap.
The embedded-to-heap path copied RSTRING_LEN(str) bytes into an
ALLOC_N buffer, missing the null terminator (and any slot padding).
Copy str_embed_capa(str) bytes instead. Always safe since we only
enter this path when str_embed_capa(str...
eightbitraptor (Matt V-H)

02/17/2026

08:46 PM Ruby Revision 997bc709 (git): Re-enable the Lobste.rs benchmark on CI
eightbitraptor (Matt V-H)

02/13/2026

02:29 PM Ruby Revision 1b652829 (git): hardcode and look up magic numbers
instead of computing them on page add eightbitraptor (Matt V-H)
02:29 PM Ruby Revision 20d85bbe (git): Make sure we clear the bits when adding a new page
eightbitraptor (Matt V-H)
02:29 PM Ruby Revision b53aada8 (git): We can't actually hardcode these
because BASE_SLOT_SIZE changes on 32 bit, and when debug/devel symbols
are added
eightbitraptor (Matt V-H)
02:29 PM Ruby Revision 2daf48e7 (git): Use UINT32_MAX as magic divisor
As @jhawthorn pointed out, the original calculation used `(1 << 32) /
heap->slot_size + 1)` which leads to a subtle off by one error that gets
shifted away because our slot sizes aren't powers of 2.
This is still worth fixing now, so th...
eightbitraptor (Matt V-H)

Also available in: Atom