summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2025-12-10[ruby/psych] v5.3.0Hiroshi SHIBATA
https://github.com/ruby/psych/commit/d8053b0d16
2025-12-10Add `NUM2PTR` and `PTR2NUM` macrosNobuyoshi Nakada
These macros have been defined here and there, so collect them.
2025-12-10`_RUBY_DEBUG_LOG` usable anywhereKoichi Sasada
even if `USE_RUBY_DEBUG_LOG=0`. It becomes `fprintf(stderr, ...)`.
2025-12-10Use `ruby_version_is`Nobuyoshi Nakada
As the markers for spec/mspec/tool/remove_old_guards.rb.
2025-12-10Fix typo in thread_pthread.c [ci skip] (#15465)Yuji Teshima
Fix typo in thread_pthread.c: threre -> there
2025-12-09ZJIT: Add dump to file for --zjit-stats (#15414)Aiden Fox Ivey
* ZJIT: Add dump to file for --zjit-stats * ZJIT: Rename --zjit-stats=quiet to --zjit-stats-quiet
2025-12-10Use rb_error_frozen_object in rb_class_modify_checkJeremy Evans
This provides information on the class of the frozen object. It also results in a much simpler implementation. Fixes [Bug #21374]
2025-12-10Use actual class instead of singleton class in frozen error messageJeremy Evans
With the following code: ```ruby object = [] object.singleton_class object.freeze object.instance_variable_set(:@a, 42) ``` The previous error message was: ``` can't modify frozen #<Class:#<Array:0x00000631d1308f78>>: [] ``` With this change, the error message is: ``` can't modify frozen Array: [] ``` Since we show the inspect value of the affected object, I think including the singleton class instead of the actual class if it exists makes the error message harder to understand.
2025-12-10Fix refinement modification of method visibility in superclassJeremy Evans
Previously, this didn't work correctly, resulting in a SystemStackError. This fixes the issue by finding the related superclass method entry, and updating the orig_me in the refinement method to point to the superclass method. Fixes [Bug #21446]
2025-12-10Fix allocationless anonymous splat keyword argument checkJeremy Evans
Previously, if an argument splat and keywords are provided by the caller, it did not check whether the method/proc accepted keywords before avoiding the allocation. This is incorrect, because if the method/proc does not accept keywords, the keywords passed by the caller are added as a positional argument, so there must be an allocation to avoid mutating the positional splat argument. Add a check that if the caller passes keywords, the method/proc must accept keywords in order to optimize. If the caller passes a keyword splat, either the method/proc must accept keywords, or the keyword splat must be empty in order to optimize. If keywords are explicitly disallowed via `**nil`, the optimization should be skipped, because the array is mutated before the ArgumentError exception is raised. In addition to a test for the correct behavior, add an allocation test for a method that accepts an anonymous splat without keywords. Fixes [Bug #21757]
2025-12-09ZJIT: Show send fallback reason in HIR dump (#15454)Randy Stauner
This adds comments to the hir dump output like this: v13:BasicObject = SendWithoutBlock v6, :test, v11 # SendFallbackReason: Complex argument passing
2025-12-09Don't declare `rbimpl_check_typeddata` as pureJean Boussier
[Bug #21771] It may raise so it's incorrect and can lead to the compiler optimizing the call out.
2025-12-09ZJIT: Put keyword bits in callee frame rather than c_argsRandy Stauner
2025-12-09ZJIT: Handle caller_kwarg in direct send when all keyword params are requiredRandy Stauner
2025-12-09ZJIT: Test additional arg passing scenariosRandy Stauner
2025-12-09[ruby/resolv] use domain suffix from 'Domain' instead of 'NV Domain'YO4
'NV Domain' does not change results of `powershell -command Get-DnsClientGlobalSetting`. 'Domain' do this. https://github.com/ruby/resolv/commit/d49e3d5b84
2025-12-09[DOC] Clear one of known issues of Ruby BoxNobuyoshi Nakada
2025-12-09Box: relax the condition of clean upNobuyoshi Nakada
It is impossible to delete DLLs being loaded on Windows. I guess that unnamed (no accessible path on the filesystem) files are not allowed essentially. The only way is to relax the condition, such as no files are left after the process terminated, probably.
2025-12-09Box: add a test case about deleting .so/.dll filesSatoshi Tagomori
2025-12-09Box: remove copied extension filesNobuyoshi Nakada
2025-12-09[DOC] Update Ruby Box documents (known issues)Satoshi Tagomori