General

Profile

byroot (Jean Boussier)

Issues

open closed Total
Assigned issues 2 29 31
Reported issues 29 146 175

Projects

Project Roles Registered on
Ruby Committer 09/27/2021

Activity

09/01/2026

09:21 PM Ruby Revision 837df279 (git): string.c: remove impossible condition
`s` is the current string pointer (`self`), `t` is the new buffer
pointer initialized with `malloc / realloc`.
Hence this condition is always true.
byroot (Jean Boussier)

08/28/2026

04:30 PM Ruby Revision 46e53809 (git): [ruby/date] Implement compaction and embedded structs
Currently dates are allocated in a 40B slot plus a 32B (simple)
or 48B (complex) external struct.
Once embedded they entirely fit into a 80B slot.
https://github.com/ruby/date/commit/e8a1442c60
byroot (Jean Boussier)

08/27/2026

07:07 PM Ruby Revision f4813a34 (git): compile.c: statically resolve `swap` instructions when possible
If the two preceeding instructions are known not to be dependent
on the state of the stack, then we can eliminate the `swap` and inverse
the two previous instructions.
This mostly eliminate instruction in two cases:
```ruby
Object.new
...
byroot (Jean Boussier)
01:47 PM Ruby Bug #22246: Rational#to_f incorrectly rounds when the numerator is a bignum that cannot be represented exactly by a double, and the denominator is a fixnum
> This bug is not related to Feature #21308 except for the same author.
Yes, I confused it with another ticket, that's why I deleted my comment, sorry.
byroot (Jean Boussier)
10:04 AM Ruby Revision 127e9038 (git): hash.c: add a substition hint
By guaranteeing that hints can't match `RHASH_AR_CLEARED_HINT`
we can save on checking the key for `UNDEF_P` in a bunch of places.
byroot (Jean Boussier)
07:20 AM Ruby Feature #22256: Replace missing/dtoa.c with a uscale-based algorithm. Faster, smaller footprint, and fixes a rounding error.
[Feature #21308] was filed a while ago.
`dtoa.c` is really showing its age, and in the last couple years there has been a lot of new algorithms on that particular topic.
Currently `ruby/json` uses Grisu for `double -> string` and E...
byroot (Jean Boussier)

08/26/2026

08:41 AM Ruby Revision 76edf35f (git): Refactor RHash size computations
Share the same code between gc.c and hash.c. byroot (Jean Boussier)

08/25/2026

09:07 PM Ruby Revision c6241150 (git): [ruby/rubygems] Bundler::Source::Git: avoid re-fetching the repo
In `install`, `self.to_s` is called by `print_using_message "Using ... from #{self}`.
This in turn calls `current_branch` which if the local git cache
is missing will re-clone it from scratch.
This is an issue, because a common optimiza...
byroot (Jean Boussier)
03:54 PM Ruby Revision 89699e81 (git): hash.c: memzero hashes before allocating st_table
`hash_copy` will call `st_init_existing_table_with_size` which
allocates and may trigger GC causing the current hash to be marked.
So we need to zero-out the `st_table` to avoid a segfault.
byroot (Jean Boussier)
01:24 PM Ruby Revision 7a0361b3 (git): Skip Fiddle::TestFunction#test_no_memory_leak on parse.y
byroot (Jean Boussier)

Also available in: Atom