summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-11This change didn't fix the original issue.Hiroshi SHIBATA
Revert "Use base: with Dir.glob for bundler.gemspec" This reverts commit 87f0701b6106569a8486c9623dc6b0b32438355c.
2025-12-11[DOC] Update NEWS for `*selectors` arguments added to `String#strip` etc.Shugo Maeda
2025-12-11Use base: with Dir.glob for bundler.gemspecHiroshi SHIBATA
2025-12-11Allow String#strip etc. to take optional character selectorsShugo Maeda
[Feature #21552] Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11Remove an excess closing bracketNobuyoshi Nakada
2025-12-10ZJIT: Re-compile ISEQs invalidated by PatchPoint (#15459)Takashi Kokubun
2025-12-10GC_DEBUG_STRESS_TO_CLASS should only be for debugJohn Hawthorn
I believe this was accidentally left in as part of 2beb3798bac52624c3170138f8ef65869f1da6c0
2025-12-10Update Ractor warning messageJohn Hawthorn
Although the Ractor API is still experimental and may change, and there may be some implementation issues, we should no longer say that there are many. Hopefully we can remove this warning entirely for Ruby 4.1
2025-12-10ZJIT: Don't fold LoadField with negative offsets and use byte_addAlan Wu
No point doing the manual size unit conversion for add. Sorry, no new tests since there is no way to generate a LoadField with a negative offset from ruby code AFAICT. Careful with the `as` casts.
2025-12-10JITs: Drop cargo and use just rustc for release combo buildAlan Wu
So we don't expose builders to network flakiness which cannot be worked around using cargo's --offline flag.
2025-12-10JITs: Move cargo-specific variables into conditionalAlan Wu
2025-12-10ZJIT: For rustc build, remove cargo touch(1) workaroundAlan Wu
2025-12-10YJIT: For rustc build, remove cargo touch(1) workaroundAlan Wu
2025-12-10ZJIT: Remove unused includes from zjit.cAlan Wu
2025-12-10ZJIT: Fold LoadField on frozen objects to constants (#15483)Tobias Lütke
* ZJIT: Fold LoadField on frozen objects to constants When accessing instance variables from frozen objects via attr_reader/ attr_accessor, fold the LoadField instruction to a constant at compile time. This enables further optimizations like constant propagation. - Add fold_getinstancevariable_frozen optimization in Function::optimize - Check if receiver type has a known ruby_object() that is frozen - Read the field value at compile time and replace with Const instruction - Add 10 unit tests covering various value types (fixnum, string, symbol, nil, true/false) and negative cases (unfrozen, dynamic receiver) * Run zjit-test-update * Add a test that we don't fold non-BasicObject * Small cleanups --------- Co-authored-by: Max Bernstein <ruby@bernsteinbear.com> Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2025-12-10Remove object_id in NEWOBJ tracepoint testJean Boussier
Generating an object_id for any type other than T_OBJECT (and T_CLASS) will inevitably allocate an IMEMO/fields objects, which isn't supported in a NEWOBJ tracepoint. See: https://bugs.ruby-lang.org/issues/21710#note-23
2025-12-10ZJIT: Use inline format args (#15482)Alex Rocha
2025-12-10ubuntu.yml: Add a ruby-bench job without ZJIT (#15480)Takashi Kokubun
2025-12-10Always treat encoding as TYPEDDATAJohn Hawthorn
Encodings are RTypedData, not the deprecated RData. Although the structures are compatible we should use the correct API.
2025-12-10ZJIT: Exclude failing ruby-bench benchmarks (#15479)Takashi Kokubun
2025-12-10ZJIT: Check if shape is too complex before reading ivar by index (#15478)Max Bernstein
This fixes a crash when the new shape after a transition is too complex; we need to check that it's not complex before trying to read by index.
2025-12-10Fix typos in comment of rb_current_execution_context()Benoit Daloze
2025-12-10[ruby/json] Add a specific error for unescaped newlinesJean Boussier
It's the most likely control character so it's worth giving a better error message for it. https://github.com/ruby/json/commit/1da3fd9233
2025-12-10Modernize Monitor TypedDataJean Boussier
Make it embedded and compaction aware.
2025-12-10Monitor: avoid repeated calls to `rb_fiber_current()`Jean Boussier
That call is surprisingly expensive, so trying doing it once in `#synchronize` and then passing the fiber to enter and exit saves quite a few cycles.
2025-12-10Update default gems list at e8a55274f202df1cfddc25aa14da34 [ci skip]git
2025-12-10[ruby/forwardable] v1.4.0Hiroshi SHIBATA
https://github.com/ruby/forwardable/commit/0257b590c2
2025-12-10[ruby/forwardable] Simpler and faster check for the delegation fastpathJean Boussier
Fix: https://github.com/ruby/forwardable/issues/35 [Bug #21708] Trying to compile code to check if a method can use the delegation fastpath is a bit wasteful and cause `RUPYOPT=-d` to be full of misleading errors. It's simpler and faster to use a simple regexp to do the same check. https://github.com/ruby/forwardable/commit/de1fbd182e
2025-12-09Fix typo and shadowingJohn Hawthorn
2025-12-09Attempt to reuse garbage slots in concurrent hashJohn Hawthorn
This removes all allocations from the find_or_insert loop, which requires us to start the search over after calling the provided create function. In exchange that allows us to assume that all concurrent threads insert will get the same view of the GC state, and so should all be attempting to clear and reuse a slot containing a garbage object.
2025-12-09Use continuation bit in concurrent setJohn Hawthorn
This refactors the concurrent set to examine and reserve a slot via CAS with the hash, before then doing the same with the key. This allows us to use an extra bit from the hash as a "continuation bit" which marks whether we have ever probed past this key while inserting. When that bit isn't set on deletion we can clear the field instead of placing a tombstone.
2025-12-10Update default gems list at 8e87f201cf54b112642ed0421ddabd [ci skip]git
2025-12-10[ruby/optparse] v0.8.1Hiroshi SHIBATA
https://github.com/ruby/optparse/commit/f2e31e81a5
2025-12-10Update default gems list at 254653db8521618e08aaccaa63efdb [ci skip]git
2025-12-10[ruby/win32-registry] v0.1.2Hiroshi SHIBATA
https://github.com/ruby/win32-registry/commit/2a6ab00f67
2025-12-10[ruby/stringio] [DOC] Doc for StringIO.sizeBurdette Lamar
(https://github.com/ruby/stringio/pull/171) https://github.com/ruby/stringio/commit/95a111017a
2025-12-10[ruby/stringio] [DOC] Tweaks for StringIO#each_lineBurdette Lamar
(https://github.com/ruby/stringio/pull/165) Adds to "Position": pos inside a character. Makes a couple of minor corrections. --------- https://github.com/ruby/stringio/commit/ff332abafa Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-12-10[ruby/stringio] [DOC] Tweaks for StringIO#getsBurdette Lamar
(https://github.com/ruby/stringio/pull/190) https://github.com/ruby/stringio/commit/77209fac20
2025-12-10[ruby/stringio] [DOC] Tweaks for StringIO.getbyteBurdette Lamar
(https://github.com/ruby/stringio/pull/188) https://github.com/ruby/stringio/commit/66360ee5f1
2025-12-10[ruby/stringio] [DOC] Fix linkBurdetteLamar
https://github.com/ruby/stringio/commit/e2d24ae8d7
2025-12-10[ruby/stringio] [DOC] Tweaks for StringIO#getcBurdette Lamar
(https://github.com/ruby/stringio/pull/189) https://github.com/ruby/stringio/commit/e3d16d30ed
2025-12-10We don't need to check the latest release of pathnameHiroshi SHIBATA
Pathname is now embedded class of Ruby
2025-12-10Update default gems list at 4523a905327d8438f845f5a7582222 [ci skip]git
2025-12-10[ruby/date] v3.5.1Hiroshi SHIBATA
https://github.com/ruby/date/commit/1d0aadc295
2025-12-10Update default gems list at 5f444cba4741b2ff0e1e95f4a17932 [ci skip]git
2025-12-10[ruby/ipaddr] v1.2.8Hiroshi SHIBATA
https://github.com/ruby/ipaddr/commit/93ef50bc04
2025-12-09ZJIT: Prohibit ZJIT support with USE_FLONUM=0 (#15471)Takashi Kokubun
2025-12-10Update default gems list at 814f23747b5fd7b0d5fb6cd8e45833 [ci skip]git
2025-12-10[ruby/resolv] v0.7.0Hiroshi SHIBATA
https://github.com/ruby/resolv/commit/a0e89bbe48
2025-12-10Update default gems list at df4fc0f7fcda6c552084ea0638c718 [ci skip]git