Skip to content

[pull] master from ruby:master#1149

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

[pull] master from ruby:master#1149
pull[bot] merged 9 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Jun 25, 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 : )

tekknolagi and others added 9 commits June 24, 2026 19:14
Also introduce printing helper for writing separated lists in `Display`
impl for `Insn`.
Skip intermediate GetIvar and optimize straight through, either from
getinstancevariable opcode or from methods with METHOD_TYPE_IVAR.
Get rid of the CFUNC overhead in String#ascii_only? and #valid_encoding?. Define them as leaf Primitive.cexpr! builtins in a new string.rb, following the pattern of numeric.rb.

This makes them 1.2x-1.4x faster across the interpreter, YJIT, and
ZJIT.

Move ZJIT's cfunc annotation for String#ascii_only? to annotate_builtin!, and add one for String#valid_encoding?.

Fix CI for builtin String#ascii_only?
Read the cached coderange directly (flags & MASK) instead of calling the
builtin: ascii_only? is == 7BIT, valid_encoding? is != BROKEN, side-exit
on UNKNOWN. Drops the call, ~20% faster on ZJIT.
Since `src` is always a `fstring` we don't need to compare
length nor content, we can just compare the pointers.
Bundler's required_rubygems_version (>= 3.4.1) always ships Gem::TSort,
vendored into RubyGems since 3.4.0, so the duplicate Bundler::TSort copy
is unnecessary. Delegate to rubygems/vendored_tsort and switch SpecSet to
include Gem::TSort.

ruby/rubygems@1a1f49b64b

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jun 25, 2026
@pull pull Bot added the ⤵️ pull label Jun 25, 2026
@pull pull Bot merged commit 30e15d8 into turkdevops:master Jun 25, 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.

5 participants