General

Profile

jhawthorn (John Hawthorn)

  • Login: jhawthorn
  • Registered on: 12/22/2016
  • Last sign in: 06/01/2026

Issues

open closed Total
Assigned issues 21 70 91
Reported issues 6 30 36

Projects

Project Roles Registered on
Ruby Committer 11/25/2021

Activity

Today

04:16 AM Ruby Misc #22088: DevMeeting-2026-06-11
* [Feature #22067] New `RUBY_TYPED_THREAD_SAFE_FREE` bit to declare thread safe `dfree` functions (jhawthorn, luke-gru)
* Proposes an opt-in TypedData flag declaring a `dfree()` function thread-safe
* Allows GC implementations to fre...
jhawthorn (John Hawthorn)

06/05/2026

08:02 PM Ruby Feature #22067: New RUBY_TYPED_THREAD_SAFE_FREE bit to declare thread safe dfree functions
Updated the description to make it clear that this is a purely stricter dfree contract. I also added that `RUBY_TYPED_THREAD_SAFE_FREE` implies `RUBY_TYPED_FREE_IMMEDIATELY`.
I renamed the proposed flag to `RUBY_TYPED_THREAD_SAFE_FREE`,...
jhawthorn (John Hawthorn)
05:56 PM Ruby Revision dd9213c4 (git): Convert object_tracing to use weak references
Object tracing listens to the NEWOBJ hook to see all objects allocated
while it is active. Previously it also enabled a FREEOBJ tracepoint to
drop each object's record as the object was freed.
However the FREEOBJ tracepoint only fires w...
jhawthorn (John Hawthorn)

06/03/2026

09:06 PM Ruby Revision 739ec91d (git): Run FREEOBJ hook as separate step
jhawthorn (John Hawthorn)

05/29/2026

08:47 PM Ruby Feature #21976 (Closed): Add $SECONDS, $RANDOM, and other bashisms
jhawthorn (John Hawthorn)
06:29 PM Ruby Revision d9010351 (git): Atomic fast path for "locale" encoding registration
The "locale" encoding is only registered once, so we can use an atomic
to avoid the full lock and hash lookup.
jhawthorn (John Hawthorn)
12:15 AM Ruby Bug #22084 (Closed): invokesuper from define_method in Ractor can call wrong super method or crash
Applied in changeset commit:git|4f6c8c693c9712d81a298bcae5f3a6e30616432f.
----------
Use stack callinfo/calldata for super dispatch
Previously vm_search_super_method would allocate a new callinfo and
write it back into the iseq's call ...
jhawthorn (John Hawthorn)
12:14 AM Ruby Revision 4f6c8c69 (git): Use stack callinfo/calldata for super dispatch
Previously vm_search_super_method would allocate a new callinfo and
write it back into the iseq's call data. Because iseqs can be shared
between Ractors (e.g. via Ractor.shareable_proc + define_method), two
Ractors invoking super through...
jhawthorn (John Hawthorn)

05/27/2026

11:32 PM Ruby Bug #22084 (Closed): invokesuper from define_method in Ractor can call wrong super method or crash
`vm_search_super_method` has an odd behaviour where it allocates new callinfo (ci) and assigns it back to the iseq. All of our other method calls only reassign the callcache (cc). Because this CI is used from the iseq immediately after f... jhawthorn (John Hawthorn)
11:18 PM Ruby Revision 8c854d2c (git): Bump RUBY_ABI_VERSION
jhawthorn (John Hawthorn)

Also available in: Atom