close

General

Profile

Image jhawthorn (John Hawthorn)

  • Login: jhawthorn
  • Registered on: 12/22/2016
  • Last sign in: 04/29/2026

Issues

open closed Total
Assigned issues 21 68 89
Reported issues 8 27 35

Projects

Project Roles Registered on
Ruby Committer 11/25/2021

Activity

05/01/2026

Image 07:11 PM Ruby Revision 1721acf1 (git): ZJIT: Inline Class#allocate
This adds specialization for Class#allocate to perform the same inlining
that Class#new will do. This was done conservatively, only inlining when
we see a known leaf allocator so that there's no difference between
interpreter and JIT if ...
jhawthorn (John Hawthorn)
Image 06:33 PM Ruby Bug #22019 (Open): Set#intersect () segv if the block is called after return
```ruby
class C
include Enumerable
def each(&b)
$b = b
yield 1
end
end
Set[1, 2, 3] & C.new
$b.call(1) # [BUG] Segmentation fault at 0x00007f21bfa67f60
```
The cause is essentially the same as #5801, we're in...
jhawthorn (John Hawthorn)

04/30/2026

Image 09:31 PM Ruby Misc #21956: DevMeeting-2026-05-13
* [Feature #21981] Remove CREF rewriting for methods on cloned classes/modules
* Current behaviour is inconsistent with all other constant references being lexically scoped (inheritance, mixins, define_method). Only `Class#{dup,clone}...
jhawthorn (John Hawthorn)
Image 09:20 PM Ruby Revision ebd881f9 (git): Remove IMEMO allocation from match_named_captures
onig_foreach_name is totally synchronous (either a for loop or an st_foreach), so it should be safe to pass data on the stack rather than allocating an IMEMO. jhawthorn (John Hawthorn)
Image 06:20 PM Ruby Revision 802d964e (git): Remove MEMO.u3.func
This was no longer used anywhere jhawthorn (John Hawthorn)
Image 06:20 PM Ruby Revision 096c9bb9 (git): Use flag to determine when MEMO.u3 is a VALUE
We always know when this contains a VALUE and even fire a write barrier
for it. We should use this when marking, support compaction, and no
longer need conservative marking.
jhawthorn (John Hawthorn)

04/29/2026

Image 09:11 PM Ruby Bug #22009 (Closed): ERROR: AddressSanitizer: attempting to call malloc_usable_size() for pointer which is not owned: with ASAN and DEBUG enabled build
Oh! Looks like this was already fixed by https://github.com/ruby/ruby/pull/16792 jhawthorn (John Hawthorn)
Image 09:02 PM Ruby Bug #22009: ERROR: AddressSanitizer: attempting to call malloc_usable_size() for pointer which is not owned: with ASAN and DEBUG enabled build
That makes sense that this crashes. We're allowing the GC to provide xmalloc and xfree, and in Ruby 4.1dev under debug that has additional padding. We should have an xmalloc equivalent of malloc_usable_size (at least in the one place we ... jhawthorn (John Hawthorn)

04/26/2026

Image 09:07 AM Ruby Revision f0a71599 (git): Fix write barrier in update_classvariable_cache
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision 8e253ae2 (git): Fix writebarrier in backtrace_initialize_copy
jhawthorn (John Hawthorn)

Also available in: Atom