eightbitraptor (Matt V-H)
- Login: eightbitraptor
- Email: matt@eightbitraptor.com, matt.valentinehouse@shopify.com
- Registered on: 12/06/2019
- Last sign in: 02/20/2026
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 ...
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...
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...
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 ... -
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...
02/17/2026
02/13/2026
-
02:29 PM Ruby Revision 1b652829 (git): hardcode and look up magic numbers
- instead of computing them on page add
-
02:29 PM Ruby Revision 20d85bbe (git): Make sure we clear the bits when adding a new page
-
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 -
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...