`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)
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/e8a1442c60byroot (Jean Boussier)
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)
> 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)
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)
[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)
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)
`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)