Skip to content

[pull] master from ruby:master#988

Merged
pull[bot] merged 5 commits intoturkdevops:masterfrom
ruby:master
May 6, 2026
Merged

[pull] master from ruby:master#988
pull[bot] merged 5 commits intoturkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 6, 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 : )

byroot and others added 5 commits May 5, 2026 21:08
This is how caches used to work prior to 913979b,
however since inline cache need to be set atomically, they are
limited to 64bits, which wasn't enough to store an `attr_index_t`
and two `shape_id_t`.

But now that we only cache the shape's offset, which is only 19B,
we can store both the source and destination offsets along with
the field index.

Thanks to this, the cache validation is now much simpler, we
only have to do an exact match on the source offset, whereas
before if it wasn't an exact match, we had to try to match
the parent, then check the field name.

We however still have to validate the shape capacity, as
the fast path doesn't handle resizes, but that could be
handled in a followup.
@pull pull Bot locked and limited conversation to collaborators May 6, 2026
@pull pull Bot added the ⤵️ pull label May 6, 2026
@pull pull Bot merged commit 7ced2c8 into turkdevops:master May 6, 2026
1 of 3 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