Skip to content

[pull] master from ruby:master - #1261

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

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

Conversation

@pull

@pull pull Bot commented Jul 30, 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 : )

matzbot and others added 9 commits July 30, 2026 07:38
bundler.io has been wound down and its content now lives on RubyGems Guides: the Bundler man pages under /command-reference/, the Gemfile reference at /gemfile/, and the remaining guides as individual pages. The redirects still work, but linking to the real locations keeps `gem help gem_dependencies`, `bundle issue`, and the man page cross references from depending on them.

Two references stay on bundler.io. The homepage in lib/bundler/source/metadata.rb has to match the published bundler gemspec, and the team pages linked from doc/POLICIES.md have no replacement yet.

ruby/rubygems@69aa22cd41

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
microsoft/vcpkg bumped `scripts/vcpkg-tools.json` to schema version 2,
which the vcpkg.exe bundled in the runner images cannot parse, so every
Windows job started failing at `vcpkg install` right after the `git pull`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
We don't need to call obj_free on certain types of objects anymore including
T_FLOAT, T_RATIONAL, T_COMPLEX, and T_OBJECT. It makes freeing those objects
faster.

Benchmark:

    i = 0
    while i < 10_000_000
      Object.new
      i += 1
    end

Before:

    Time (mean ± σ):      1.435 s ±  0.013 s    [User: 1.706 s, System: 1.970 s]
    Range (min … max):    1.418 s …  1.461 s    10 runs

After:

    Time (mean ± σ):      1.230 s ±  0.027 s    [User: 1.335 s, System: 1.743 s]
    Range (min … max):    1.206 s …  1.294 s    10 runs

ruby/mmtk@52f01ba90f
The "does not timeout on massive files" integration test in
spec/syntax_suggest/integration/syntax_suggest_spec.rb is only activated
when SYNTAX_SUGGEST_TIMEOUT is set. The CI workflow sets it to 10 for
ppc64le/s390x runners, but this is insufficient: on ppc64le, processing
the 9,234-line syntax_tree.rb.txt fixture takes more than 10 seconds,
causing the test to fail.

Increase SYNTAX_SUGGEST_TIMEOUT to 60 seconds (consistent with the 10x
scale factor applied to RUBY_TEST_TIMEOUT_SCALE for these slower
architectures) to give the algorithm enough time to complete.

Fixes: make-ibm (check, ubuntu-24.04-ppc64le) CI failure
* ZJIT: Profile caller splat length distributions

Related to: Shopify#1004

Before specializing sends with caller splats, collect the distribution of
caller splat array lengths.

The splat length determines how many `ArrayAref` operations and positional
arguments a `SendDirect` path needs. Specializing for only one observed length
could cause repeated side exits when a call site sees varying lengths, so we
need to understand whether these profiles are monomorphic or polymorphic first.

This does not change caller splat specialization or fallback behavior yet.

* ZJIT: Refine caller splat length profiling

Store splat length distributions in a side map since only splat call
sites use them. Record unknown lengths instead of dropping those samples
so the length profile stays aligned with the operand type profile.

Co-authored-by: Max Bernstein <tekknolagi@gmail.com>
Reduce the number of branches and only look up the shape once instead of
twice.

Brings a profiling-heavy run (profiling for 1000 calls) of lobsters from
700ms to 660ms profile time. Unfortunately getting the current time for
stats is still 50% of all profile time.
@pull pull Bot locked and limited conversation to collaborators Jul 30, 2026
@pull pull Bot added the ⤵️ pull label Jul 30, 2026
@pull
pull Bot merged commit daab420 into turkdevops:master Jul 30, 2026
1 check was pending
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.

7 participants