General

Profile

eightbitraptor (Matt V-H)

Issues

open closed Total
Assigned issues 2 22 24
Reported issues 1 32 33

Projects

Project Roles Registered on
Ruby Committer 03/09/2023

Activity

10/26/2026

10:01 PM Ruby Revision e14d739e (git): Promote the ring before measuring oldmalloc major intervals
test_major_sweep_does_not_create_oldmalloc_debt assumed the ring was
already old when the loop started. When Ruby is running with parse.y
this isn't always the case. That only held when GCs ran while
the ring was built. Under parse.y oft...
eightbitraptor (Matt V-H)

10/23/2026

05:51 PM Ruby Revision 132d2257 (git): Add RUBY_ATOMIC_SIZE_LOAD
The size_t atomics had add, sub, cas, exchange and fetch_add but no
load, so the GC read its atomic size_t counters through the VALUE load
with a cast.
This commit adds RUBY_ATOMIC_SIZE_LOAD and rbimpl_atomic_size_load,
following rbimpl...
eightbitraptor (Matt V-H)
05:51 PM Ruby Revision e648c81d (git): Clamp oldmalloc_increase at zero instead of snapshotting it
Since e631daf17b, gc_sweep_finish calls
gc_malloc_counters_snapshot_free_at_last_gc on both oldcounters and
counters.
That is correct for counters, because gc_reset_malloc_info takes the
baselines at every GC. However for oldcounters, b...
eightbitraptor (Matt V-H)
05:51 PM Ruby Revision ac823ef8 (git): Allocate oldmalloc test garbage in a dead thread
test_retained_malloc_triggers_oldmalloc_major_gc relied on GC.start
freeing the garbage array. On MinGW a stale stack slot can keep it
alive, so it died in the first minor GC instead. Those frees brought
oldmalloc_increase back to 0 and ...
eightbitraptor (Matt V-H)
05:03 PM Ruby Revision cc3776ba (git): GC: Move zombie page accounting into the default GC
The zombie_objspaces table in gc.c kept a page count for each entry and
a running total. gc.c asked the GC for the counts through
rb_gc_impl_zombie_heap_page_count, and the default GC read the total
back through rb_gc_vm_zombie_total_pag...
eightbitraptor (Matt V-H)
04:05 PM Ruby Revision 01fe9120 (git): Replace GC.stat scope: with a process: keyword
Recently we added some keys to GC.stat in order to measure the GC
performance of Ractor local GC and the associated global GC.
This commit refactors some of those terms: "global" was used in two
places with different meanings which coul...
eightbitraptor (Matt V-H)

10/22/2026

12:02 PM Ruby Bug #22460 (Closed): Ractor crash, shared arrays
Applied in changeset commit:git|0d83a93784090400ce38f0852ae11bc103765810.
----------
Unshare arrays only when they become shareable
obj_traverse_i called rb_ary_cancel_sharing on every array it visited,
before the traversal knew whethe...
eightbitraptor (Matt V-H)
12:01 PM Ruby Revision 0d83a937 (git): Unshare arrays only when they become shareable
obj_traverse_i called rb_ary_cancel_sharing on every array it visited,
before the traversal knew whether the object graph was shareable.
So Ractor.shareable? modified frozen arrays even when it returned false.
This commit moves rb_ary_...
eightbitraptor (Matt V-H)

10/19/2026

12:46 PM Ruby Revision 37561263 (git): ZJIT: Make the write barrier marking flag per-objspace
`zjit_during_incremental_marking` was one process-wide global, written
by `gc_set_incremental_marking` on every transition of any objspace.
Since 24be314b45, two objspaces can run incremental marks at the same
time, so when one finished ...
eightbitraptor (Matt V-H)

10/14/2026

09:25 AM Ruby Bug #22427 (Closed): `--enable=zjit` does not enable ZJIT
Applied in changeset commit:git|d71692d49f30e60296bd57c932eb8877e83c3b4d.
----------
ZJIT: prepare options whenever the zjit feature is enabled
--enable=zjit sets the zjit feature bit without parsing a --zjit option,
so OPTIONS is neve...
eightbitraptor (Matt V-H)

Also available in: Atom