Skip to content

[pull] master from ruby:master#1073

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

[pull] master from ruby:master#1073
pull[bot] merged 2 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jun 2, 2026

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 : )

dak2 and others added 2 commits June 2, 2026 14:09
`FIXNUM_MIN / -1` overflows to a `Bignum` rather than a `Fixnum`, so type it as returning an `Integer` rather than `Fixnum`. Users that expect a `Fixnum` can guard to narrow the result back to `Fixnum`.

Closes: Shopify#990
…es (#17155)

If the ISEQ we're compiling is a `ISEQ_TYPE_METHOD` and it's defined on a
class that no immediate object's class inherits from (exclude
`BasicObject`, `Object`, `Numeric`, etc), and the allocator is the
default allocator, then we can assume the `self` is heap-allocated.

This lets us skip HeapBasicObject guards for a lot of instance variable
lookups, for example:

```ruby
class C
  def foo = @foo
end
```

Thanks to @jhawthorn for the idea and @tenderlove for convincing me it was reasonable.
@pull pull Bot locked and limited conversation to collaborators Jun 2, 2026
@pull pull Bot added the ⤵️ pull label Jun 2, 2026
@pull pull Bot merged commit f261909 into turkdevops:master Jun 2, 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.

2 participants