Skip to content

[pull] master from ruby:master#1121

Merged
pull[bot] merged 8 commits into
turkdevops:masterfrom
ruby:master
Jun 16, 2026
Merged

[pull] master from ruby:master#1121
pull[bot] merged 8 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Jun 16, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

byroot and others added 8 commits June 16, 2026 13:00
In many place ALLOC_V / ALLOCV_N is used as a safer `alloca`,
and to behave like stack memory, `ALLOCV` does scan its buffer
for references using `rb_gc_mark_locations`.

The problem is that it's quite slow, and in many cases, the
temporary buffer is known not to contain any references.

e.g. `ALLOCV_N(uint32_t, buf0, len)` can't possibly contain references,
as the element size is too small.
Add `test_opt_plus_overflow` and `test_opt_minus_overflow`, verifying that `Fixnum + Fixnum` and `Fixnum - Fixnum` side exit on overflow, seems like test_opt_mult_overflow.
In the past this used an ad-hoc weakref implementation that required
checking whether the referenced object was about to be swept. We
replaced this with the actual weakref implementation from the GC so
these VALUEs should always be either live or Qundef.
@pull pull Bot locked and limited conversation to collaborators Jun 16, 2026
@pull pull Bot added the ⤵️ pull label Jun 16, 2026
@pull pull Bot merged commit 1128ac4 into turkdevops:master Jun 16, 2026
0 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants