General

Profile

byroot (Jean Boussier)

Issues

open closed Total
Assigned issues 0 27 27
Reported issues 28 124 152

Projects

Project Roles Registered on
Ruby Committer 09/27/2021

Activity

12/17/2025

07:38 AM Ruby Feature #21788 (Open): Promote Thread::Monitor to a core class
`Monitor` is about as useful as `Mutex` and yet one is a core class and the other is a "stdlib" extension.
I propose to promote `Thread::Monitor` as a core class convenience.
### The rest of `monitor.rb`
The `monitor` stdlib als...
byroot (Jean Boussier)
07:09 AM Ruby Feature #20953: Array#fetch_values vs #values_at protocols
> Can I be of any help?
I rebased the PR, you can review the spec to see if the behavior make sense.
As for merging I'm afraid it's a bit late now, but that's @hsbt's call I think.
byroot (Jean Boussier)

12/16/2025

08:00 PM Ruby Revision 094418a6 (git): gc.h: Reintroduce immediate guard in `rb_obj_written`
This guard was removed in https://github.com/ruby/ruby/pull/13497
on the justification that some GC may need to be notified even for
immediate.
But the two currently available GCs don't, and there are plenty
of assumtions GCs don't ever...
byroot (Jean Boussier)
02:09 PM Ruby Bug #21783: {Method,UnboundMethod,Proc}#source_location returns columns in bytes and not in characters
> Regarding to power_assert
So it's great power_assert has much more advanced parsing capabilities, but I for one would use the column information for things like Rails' `assert_difference -> { User.count }, +1`, as it would be quite ...
byroot (Jean Boussier)
11:21 AM Ruby Bug #21783: {Method,UnboundMethod,Proc}#source_location returns columns in bytes and not in characters
Isn't `Proc.source_location` very useful for things akin to `power_assert`?
If it was easy to extract a proc's source code I'd certainly integrate it in testing framework to improve failure rendering.
byroot (Jean Boussier)
09:26 AM Ruby Bug #21783: {Method,UnboundMethod,Proc}#source_location returns columns in bytes and not in characters
Maybe I'm totally off, but I expect this data to be used to extract the source code, e.g show a snippet of code in an error message, or something akin to that, hence byte offsets seem actually more convenient? (and performant).
But ye...
byroot (Jean Boussier)
08:51 AM Ruby Revision 28b195fc (git): Store the fiber_serial in the EC to allow inlining
Mutexes spend a significant amount of time in `rb_fiber_serial`
because it can't be inlined (except with LTO).
The fiber struct is opaque the so function can't be defined as inlineable.
Ideally the while fiber struct would not be opaque...
byroot (Jean Boussier)
08:51 AM Ruby Revision e42bcd7c (git): Rename fiber_serial into ec_serial
Since it now live in the EC. byroot (Jean Boussier)

12/13/2025

06:53 PM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
Oh, that's a very interesting trick @tompng byroot (Jean Boussier)
07:10 AM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
So, if Monitor was made a core class, it could benefit from some optimizations and be almost as fast as Mutex: https://github.com/ruby/ruby/pull/15538
```
ruby 4.0.0dev (2025-12-13T06:49:18Z core-monitor 6fabf389fd) +YJIT +PRISM [arm...
byroot (Jean Boussier)

Also available in: Atom