General

Profile

mame (Yusuke Endoh)

  • Login: mame
  • Email: mame@ruby-lang.org
  • Registered on: 05/28/2008
  • Last sign in: 03/16/2026

Issues

open closed Total
Assigned issues 3 149 152
Reported issues 16 349 365

Projects

Project Roles Registered on
Ruby Committer, Security team, Infrastructure team 05/28/2008

Activity

07/11/2026

07:53 AM Ruby Feature #22118: Introduce Basic Bit Operations into String
There's no writer that takes the bit value as an argument. Is it really OK?
We need to write `str.send(val == 1 ? :bit_set : :bit_clear, offset)` to do so, which is clearly painful.
Could we have something like `bit_put(offset, value)`?...
mame (Yusuke Endoh)

07/09/2026

01:55 PM Ruby Feature #22182: Poor man's escape analysis
Ah, I see. You were suggesting removing an object flag entirely.
I thought the flag was necessary to hide fresh objects from reflection like `each_object`, as you said, but if we don't have to handle such a pathological case, then may...
mame (Yusuke Endoh)
12:54 PM Ruby Feature #22182: Poor man's escape analysis
Thanks for your comment. I stole "poor man's escape analysis" for the ticket subject. :-)
> specialized instruction for a select few methods
The current PoC doesn't add a specialized instruction per method. It only prepares `_fresh...
mame (Yusuke Endoh)

07/08/2026

07:36 AM Ruby Bug #22179: Coverage: redefined methods silently disappear from method Coverage.result after GC
Thanks for the report and the very precise analysis. I think your diagnosis is exactly right.
After discussing with @ko1, we decided to fix it as follows:
1. Record the set of methods when a method is added.
2. At `Coverage.result...
mame (Yusuke Endoh)
06:37 AM Ruby Revision 1c3b0106 (git): coverage: Release me2counter when method measurement stops
rb_reset_coverages left GET_VM()->me2counter pointing at the counter hash,
which is marked unconditionally, so after Coverage stops (methods mode) the
method entries it holds -- and the classes that own them -- were kept alive
until the ...
mame (Yusuke Endoh)
05:59 AM Ruby Feature #20163: Introduce #bit_count method on Integer
Thanks for the examples. Unless I'm misreading, the popcount usage in Hash Array Mapped Trie is the rank operation from succinct data structures that I mentioned (the operation that finds which bit is the nth set bit).
I took a quick ...
mame (Yusuke Endoh)
04:32 AM Ruby Feature #22175: Add `Range#clamp`
I feel `clamp` fits better here, since what I want is to "clamp" the range ends into the given bounds.
I personally dislike `intersection` for a few reasons: (1) its set-theoretic name adds cognitive load to read/write, (2) the name i...
mame (Yusuke Endoh)

07/07/2026

08:13 AM Ruby Feature #22130: Add a new YARV instruction for a `String.new` fast path
Note that adding new instructions is not free. I actually experienced this while working on #22182: `vm_exec_core` is already a huge C function, and adding new instructions can push it over the C compiler's inlining threshold, which actu... mame (Yusuke Endoh)
08:05 AM Ruby Bug #21848 (Feedback): GC compaction freezes during code reload with 100% CPU in rb_vm_ci_free -> st_general_delete
Can we close this, assuming it was fixed by #22104? The fix will be included in 4.0.6. Could you try it once it is out? Setting this to Feedback for now. mame (Yusuke Endoh)
06:51 AM Ruby Feature #21720 (Feedback): Add a native Binary Heap / Priority Queue to Ruby's Standard Library (heapify, heappush, heappop)
mame (Yusuke Endoh)

Also available in: Atom