summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-25[DOC] Repair format and links in What's Here sections (#5711)Burdette Lamar
* Repair format and links in What's Here for Comparable and Array * Repair format for What's Here in enum.c Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-25Revert "Finer-grained inline constant cache invalidation"Nobuyoshi Nakada
This reverts commits for [Feature #18589]: * 8008fb7352abc6fba433b99bf20763cf0d4adb38 "Update formatting per feedback" * 8f6eaca2e19828e92ecdb28b0fe693d606a03f96 "Delete ID from constant cache table if it becomes empty on ISEQ free" * 629908586b4bead1103267652f8b96b1083573a8 "Finer-grained inline constant cache invalidation" MSWin builds on AppVeyor have been crashing since the merger. Notes: Merged: https://github.com/ruby/ruby/pull/5715 Merged-By: nobu <nobu@ruby-lang.org>
2022-03-25[ruby/readline-ext] Removed the duplicated dependenciesHiroshi SHIBATA
https://github.com/ruby/readline-ext/commit/324d324427
2022-03-25Disabled cross compile for unknown errors with psych buildHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5693
2022-03-25Removed libyaml object files from dependsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5693
2022-03-25Try to remove yaml sources from dependHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5693
2022-03-25Added libyaml-dev into BASERUBY checkHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5693
2022-03-25Merge psych master: Removed the bundled libyamlHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5693
2022-03-24[DOC] Enhanced RDoc for String (#5707)Burdette Lamar
Treated: #chomp #chomp! #chop #chop! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-24Raise RuntimeError if Kernel#binding is called from a non-Ruby frameJeremy Evans
Check whether the current or previous frame is a Ruby frame in call_trace_func before attempting to create a binding for the frame. Fixes [Bug #18487] Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged: https://github.com/ruby/ruby/pull/5567
2022-03-25* 2022-03-25 [ci skip]git
2022-03-24Update formatting per feedbackKevin Newton
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/5433
2022-03-24Delete ID from constant cache table if it becomes empty on ISEQ freeKevin Newton
Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/5433
2022-03-24Finer-grained inline constant cache invalidationKevin Newton
Current behavior - caches depend on a global counter. All constant mutations cause caches to be invalidated. ```ruby class A B = 1 end def foo A::B # inline cache depends on global counter end foo # populate inline cache foo # hit inline cache C = 1 # global counter increments, all caches are invalidated foo # misses inline cache due to `C = 1` ``` Proposed behavior - caches depend on name components. Only constant mutations with corresponding names will invalidate the cache. ```ruby class A B = 1 end def foo A::B # inline cache depends constants named "A" and "B" end foo # populate inline cache foo # hit inline cache C = 1 # caches that depend on the name "C" are invalidated foo # hits inline cache because IC only depends on "A" and "B" ``` Examples of breaking the new cache: ```ruby module C # Breaks `foo` cache because "A" constant is set and the cache in foo depends # on "A" and "B" class A; end end B = 1 ``` We expect the new cache scheme to be invalidated less often because names aren't frequently reused. With the cache being invalidated less, we can rely on its stability more to keep our constant references fast and reduce the need to throw away generated code in YJIT. Notes: Merged: https://github.com/ruby/ruby/pull/5433
2022-03-24Add ISEQ_BODY macroPeter Zhu
Use ISEQ_BODY macro to get the rb_iseq_constant_body of the ISeq. Using this macro will make it easier for us to change the allocation strategy of rb_iseq_constant_body when using Variable Width Allocation. Notes: Merged: https://github.com/ruby/ruby/pull/5698
2022-03-24Update default gems list at 4c4a1e2035e08a627e71efd41d6654 [ci skip]git
2022-03-24[ruby/ostruct] v0.5.4Marc-André Lafortune
https://github.com/ruby/ostruct/commit/fe19de4644
2022-03-24[ruby/ostruct] Avoid aliasing `block_given?` for JRuby [Fixes #40]Marc-André Lafortune
https://github.com/ruby/ostruct/commit/14d04ff694
2022-03-24Bump actions/checkout from 2 to 3dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/5704
2022-03-24Bump actions/cache from 2 to 3dependabot[bot]
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/5705
2022-03-24Added dependabot configuration for actions dependenciesHiroshi SHIBATA
2022-03-24[rubygems/rubygems] Maybe this is now fixedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d9c442e54c
2022-03-24[DOC] Refine flip-flopNobuyoshi Nakada
2022-03-24Add Yuta Saito (katei) as the platform maintainer of WebAssembly/WASIYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5702
2022-03-24extlibs.rb: Add fallback `Colorize`Nobuyoshi Nakada
To get rid of an unnecessary dependency for the case using in other repositories. Notes: Merged: https://github.com/ruby/ruby/pull/5701
2022-03-24extlibs.rb: Enclose `Vars` in `ExtLibs` classNobuyoshi Nakada
To get rid of an unnecessary top-level constant for the case using as a library. Notes: Merged: https://github.com/ruby/ruby/pull/5701
2022-03-24extlibs.rb: Extract ExtLibs#processNobuyoshi Nakada
For the case using this script as a library. - `ExtLibs#process` reads and processes an extlibs file. - `ExtLibs#process_under` processes all extlibs files under the given directory. - `Extlibs.run` parses `ARGV` and lets an instance process the directories. Notes: Merged: https://github.com/ruby/ruby/pull/5701
2022-03-24regint.h: Reduce the frequency of rb_thread_check_intsYusuke Endoh
edc8576a65b7082597d45a694434261ec3ac0d9e checks interrupt at every backtrack, which brought significant overhead. This change makes the check only once every 128 backtracks. Notes: Merged: https://github.com/ruby/ruby/pull/5697
2022-03-24Now all extension libraries must consider the ABI headerNobuyoshi Nakada
2022-03-24[DOC] Remove mis-synced bundler directoryNobuyoshi Nakada
2022-03-24[rubygems/rubygems] Avoid crash in test teardownDavid Rodríguez
If an exception happens during test `setup` method, the `teardown` method will still be run for cleaning up, but if some other errors occurs then, it will hide the original error. This is happening sometimes in CI where restoring original gem hooks is failing because the error in `setup` happened before the variable holding the original hooks was initialized. This commit moves initialization of `@orig_hooks` to the beginning of the `setup` method to avoid this issue. https://github.com/rubygems/rubygems/commit/8524d2b74d
2022-03-24* 2022-03-24 [ci skip]git
2022-03-24[rubygems/rubygems] Improve RDoc setupDavid Rodríguez
Completely exclude the full bundler folder. The actual Bundler docs are excluded anyways by ruby-core (by bundler/lib/bundler/.document, bundler/lib/bundler/man/.document), I guess because bundler docs are not in RDoc format? Running RDoc in the repo root before these changes takes about 5 minutes on my machine, while after these changes takes about 15 seconds. https://github.com/rubygems/rubygems/commit/8b1802447a
2022-03-23Raise ArgumentError when calling Enumberable#inject without block or argumentsJeremy Evans
Previously, this would work as expected if the enumerable contained 0 or 1 element, and would raise LocalJumpError otherwise. That inconsistent behavior is likely to lead to bugs. Fixes [Bug #18635] Notes: Merged: https://github.com/ruby/ruby/pull/5690
2022-03-23[rubygems/rubygems] Make `rescue` clause more specificDavid Rodríguez
This is hiding a real bundler issue as a "network error". It's more helpful to get a proper bug report, with stack trace and so on. So stop re-raising errors when evaluating unmarshaled responses as network errors, and only raise Marshal errors when the Marshal format is invalid, not whenever marshalled gemspecs can't be loaded because that may hide actual client errors, like missing `YAML` constants. https://github.com/rubygems/rubygems/commit/05ea907e1c
2022-03-22[DOC] Enhanced RDoc for String (#5685)Burdette Lamar
Treats: #chars #codepoints #each_char #each_codepoint #each_grapheme_cluster #grapheme_clusters Also, corrects a passage in #unicode_normalize that mentioned module UnicodeNormalize, whose doc (:nodoc:, actually) says not to mention it. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-23Need to reconfigure and rebuild everything when abi.h changedNobuyoshi Nakada
2022-03-23* 2022-03-23 [ci skip]git
2022-03-23[rubygems/rubygems] Fix a test for `bin/bundle update --bundler` to pass on ↵Jun Aruga
ruby/ruby. Consider the case that the latest Bundler version on RubyGems is higher than the `system_bundler_version` (= `Bundler::VERSION`) in `make test-bundler` on ruby/ruby. See <https://bugs.ruby-lang.org/issues/18643>. https://github.com/rubygems/rubygems/commit/bfa2f72cfa
2022-03-22[Feature #18634] Implement Arrays on Variable Width AllocationPeter Zhu
This commit implements arrays on Variable Width Allocation. This allows longer arrays to be embedded (i.e. contents directly follow the object header) which improves performance through better cache locality. Notes: Merged: https://github.com/ruby/ruby/pull/5660
2022-03-22[DOC] re-count test suites run by `make check` [ci skip]Nobuyoshi Nakada
2022-03-22Fix a link [ci skip]Kazuhiro NISHIYAMA
2022-03-21[DOC] Use RDoc inclusions in string.c (#5683)Burdette Lamar
As @peterzhu2118 and @duerst have pointed out, putting string method's RDoc into doc/ (which allows non-ASCII in examples) makes the "click to toggle source" feature not work for that method. This PR moves the primary method doc back into string.c, then includes RDoc from doc/string/*.rdoc, and also removes doc/string.rdoc. The affected methods are: ::new #bytes #each_byte #each_line #split The call-seq is in string.c because it works there; it did not work when the call-seq is in doc/string/*.rdoc. This PR also updates the relevant guidance in doc/documentation_guide.rdoc. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-21Fix Markdown syntax in spec/README.mdBenoit Daloze
2022-03-22[DOC] Move old NEWS files to a separate directoryNobuyoshi Nakada
2022-03-22* 2022-03-22 [ci skip]git
2022-03-22[ruby/rdoc] Expand the enclosing tree of the current fileNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/f9f90ef2ff
2022-03-22[ruby/rdoc] Fold files in the page directoryNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/b7b4cdab6c
2022-03-22[ruby/rdoc] Add test_generate_pageNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/c870284163
2022-03-20[ruby/rdoc] Allow method source code to scroll [ci skip]Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/1bb0496c53