General

Profile

make_now_just (Hiroya Fujinami)

Issues

open closed Total
Assigned issues 1 28 29
Reported issues 2 8 10

Projects

Project Roles Registered on
Ruby Committer 12/13/2022

Activity

10/23/2026

03:00 AM Ruby Revision 63d0ba80 (git): Prevent double free for too big repetition quantifiers (#13332)
Prevent double free for too big repetition quantifiers
The previous implementation calls `free(node)` twice (on parsing and compiling a
regexp) when it has an error, so it leads to a double-free issue. This
commit enforces `free(node)` ...
make_now_just (Hiroya Fujinami)
03:00 AM Ruby Revision 63eda268 (git): Reject overflowed repeat/null-check IDs in huge regexps (#16801)
Add explicit errors for excessive range-repeat and null-check IDs;
map new errors in regerror; add regression tests for oversized generated
patterns.
(cherry picked from commit 493d26dcdea8b2f0ac5d28e057b401bc809e7fae)
make_now_just (Hiroya Fujinami)

10/22/2026

08:07 PM Ruby Revision c3c8863a (git): Reject overflowed repeat/null-check IDs in huge regexps (#16801)
Add explicit errors for excessive range-repeat and null-check IDs;
map new errors in regerror; add regression tests for oversized generated
patterns.
make_now_just (Hiroya Fujinami)

10/12/2026

08:22 AM Ruby Revision 8382f95c (git): Prevent double free for too big repetition quantifiers (#13332)
Prevent double free for too big repetition quantifiers
The previous implementation calls `free(node)` twice (on parsing and compiling a
regexp) when it has an error, so it leads to a double-free issue. This
commit enforces `free(node)` ...
make_now_just (Hiroya Fujinami)

10/06/2026

07:11 AM Ruby Bug #22313 (Closed): Bytecode compilation is quadratic in the size of a method due to remove_unreachable_chunk
Applied in changeset commit:git|8993cb5a3c87dcad17904bd8a0b69e235baf03e9.
----------
Make `remove_unreachable_chunk` linear in method size (#18823)
* Make remove_unreachable_chunk linear in method size
remove_unreachable_chunk allocat...
make_now_just (Hiroya Fujinami)
07:10 AM Ruby Revision 8993cb5a (git): Make `remove_unreachable_chunk` linear in method size (#18823)
* Make remove_unreachable_chunk linear in method size
remove_unreachable_chunk allocated and cleared a label_no-sized
counter array on every call, and iseq_peephole_optimize calls it for
every unconditional jump and leave, so compiling ...
make_now_just (Hiroya Fujinami)
07:10 AM Ruby Revision dc53a3e8 (git): Avoid quadratic compilation of and/or chains
The value-context NODE_AND / NODE_OR compiled nd_2nd recursively, so a
chain such as `a && b && c` gave each operator its own end label. The
peephole optimizer then collapsed that chain of labels, walking the
whole chain from every branc...
make_now_just (Hiroya Fujinami)

09/14/2026

08:02 AM Ruby Bug #22294: Parsing a long && / || chain is quadratic
A pull request for compilation: https://github.com/ruby/ruby/pull/18824 make_now_just (Hiroya Fujinami)
07:07 AM Ruby Bug #22313: Bytecode compilation is quadratic in the size of a method due to remove_unreachable_chunk
I created a pull request to fix it: https://github.com/ruby/ruby/pull/18823 make_now_just (Hiroya Fujinami)
06:55 AM Ruby Bug #22313 (Closed): Bytecode compilation is quadratic in the size of a method due to remove_unreachable_chunk
Compiling one large method whose body contains many unconditional jumps takes time quadratic in the size of the method.
## Reproduction
```ruby
def build(units)
src = +"def f(x)\n"
units.times do |i|
src << " while x <...
make_now_just (Hiroya Fujinami)

Also available in: Atom