summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-06YJIT: Avoid identity-based known-class guards for IO objects (#7911)Alan Wu
`IO#reopen` is very special in that it is able to change the class and singleton class of IO instances. In its presence, it is not correct to assume that IO instances has a stable class/singleton class and guard by comparing identity. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-06-06Unify length field for embedded and heap strings (#7908)Peter Zhu
* Unify length field for embedded and heap strings The length field is of the same type and position in RString for both embedded and heap allocated strings, so we can unify it. * Remove RSTRING_EMBED_LEN Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2023-06-06Revert debugging code in test_gc_compact.rbPeter Zhu
2023-06-06Fix heap growth in GC.verify_compaction_referencesPeter Zhu
We should grow by at least gc_params.heap_init_slots, but the previous calculation was incorrect.
2023-06-06Bump octokit/request-action from 2.1.8 to 2.1.9dependabot[bot]
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.8 to 2.1.9. - [Release notes](https://github.com/octokit/request-action/releases) - [Commits](https://github.com/octokit/request-action/compare/352d2ae93e1805721b5fe308598555ba3bd2c8e2...89697eb6635e52c6e1e5559f15b5c91ba5100cb0) --- updated-dependencies: - dependency-name: octokit/request-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06[rubygems/rubygems] Delay cache access in `LockfileParser`David Rodríguez
It's the only part that needs "root folder resultion" to figure out the folder for the cache, but it's only needed for some things, so run that logic lazily when needed. https://github.com/rubygems/rubygems/commit/c7b9eae0bc
2023-06-06[rubygems/rubygems] Fix `path` vs `deployment` precedence when path set ↵David Rodríguez
through ENV The `deployment` setting sets `path` to `vendor/bundle` implicitly, but that should only apply if `path` is not set explicitly, at any level. https://github.com/rubygems/rubygems/commit/3552c064c1
2023-06-06[rubygems/rubygems] Unexclude some specs on bundler 3David Rodríguez
These should all be passing on Bundler 3. https://github.com/rubygems/rubygems/commit/4a8c172965
2023-06-06[rubygems/rubygems] Fill in missing deployment specsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e16aa47b8f
2023-06-06[rubygems/rubygems] Remove redundant specsDavid Rodríguez
They are already tested above. https://github.com/rubygems/rubygems/commit/23073dcece
2023-06-06[rubygems/rubygems] Always rely on $LOAD_PATH when jumping from exe to libDavid Rodríguez
Normally, we use `require_relative` when requiring internal code. However, Bundler may also load external code (for example, bundler plugins), and when that external code loads Bundler itself, using `require_relative` without setting up the `$LOAD_PATH` may lead into double load errors. For example, when testing a Gemfile using plugins using our source code tree, I get the following: ``` ➜ plugins-dup ~/Code/rubygems/rubygems/bundler/exe/bundle Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Using bundler 2.5.0.dev Installing extended_bundler-errors 0.3.3 /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/version.rb:4: warning: already initialized constant Bundler::VERSION /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/version.rb:4: warning: previous definition of VERSION was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:5: warning: already initialized constant Bundler::Worker::POISON /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/worker.rb:5: warning: previous definition of POISON was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:183: warning: already initialized constant Bundler::FileUtils::VERSION /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:183: warning: previous definition of VERSION was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2165: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2165: warning: previous definition of S_IF_DOOR was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2461: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2461: warning: previous definition of DIRECTORY_TERM was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2569: warning: already initialized constant Bundler::FileUtils::OPT_TABLE /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2569: warning: previous definition of OPT_TABLE was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2627: warning: already initialized constant Bundler::FileUtils::LOW_METHODS /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2627: warning: previous definition of LOW_METHODS was here /Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2634: warning: already initialized constant Bundler::FileUtils::METHODS /Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2634: warning: previous definition of METHODS was here Failed to install plugin `extended_bundler-errors`, due to Bundler::Plugin::MalformattedPlugin (ArgumentError: Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered) ``` Changing this to always use `$LOAD_PATH` fixes the problem. https://github.com/rubygems/rubygems/commit/121a861c39
2023-06-06[rubygems/rubygems] Fix inline mode with multiple sourcesDavid Rodríguez
If we're in inline mode, Bundler first resolves using only local gems, and if some gems are missing, then it re-resolves using remote gems. However, "source resolution" from the initial "local" try was being memoized, resulting in Bundler not looking for some gems remotely in the second resolution. This commit forces a proper re-resolve in this case. https://github.com/rubygems/rubygems/commit/fdc631075e
2023-06-05YJIT: Fix a warning on cargo test (#7909)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-06-05Add an example for rust-analyzer.cargo.unsetTest [ci skip]Takashi Kokubun
2023-06-05Implement Struct on VWAPeter Zhu
The benchmark results show that this feature has either a positive or no impact on performance. The memory usage is also mostly unchanged, except in hexapdf, where there is a decrease in RSS. -------------- ----------- ---------- --------- ----------- ---------- --------- -------------- ------------- bench master (ms) stddev (%) RSS (MiB) branch (ms) stddev (%) RSS (MiB) branch 1st itr master/branch activerecord 70.8 2.2 56.0 71.7 2.2 56.0 0.99 0.99 erubi_rails 20.5 13.6 94.7 20.5 14.3 94.2 0.93 1.00 hexapdf 2541.0 0.7 212.8 2544.4 0.7 203.4 1.00 1.00 liquid-c 65.6 0.3 38.9 65.3 0.3 38.9 1.01 1.01 liquid-compile 63.7 0.3 34.6 61.1 0.2 34.6 1.04 1.04 liquid-render 163.1 0.1 37.1 163.3 0.1 37.1 1.00 1.00 mail 139.3 0.1 50.5 137.0 0.1 50.1 0.99 1.02 psych-load 2065.7 0.1 36.9 2068.2 0.1 37.3 1.00 1.00 railsbench 2034.6 0.5 103.9 2031.9 0.5 103.8 1.02 1.00 ruby-lsp 65.3 3.1 89.8 66.2 3.0 89.7 1.01 0.99 sequel 73.2 1.0 40.3 73.4 1.0 40.3 1.00 1.00 -------------- ----------- ---------- --------- ----------- ---------- --------- -------------- ------------- Notes: Merged: https://github.com/ruby/ruby/pull/7871
2023-06-05[ruby/irb] Refactor ExtendCommand::NopStan Lo
(https://github.com/ruby/irb/pull/598) * Rename conf to irb_context * Drop Nop#irb method because it's only used by irb/ext/loader.rb We don't need to expose this method to all command classes, especially when it's just an alias of `irb_context.irb`.
2023-06-05[ruby/irb] Simplify irb_info commandStan Lo
(https://github.com/ruby/irb/pull/597) https://github.com/ruby/irb/commit/0a0409c52b
2023-06-05[ruby/irb] Fixed string escaping omissionsima1zumi
(https://github.com/ruby/irb/pull/599) I received a `RegexpError` when I typed `::Array[`. ::Array[/Users/mi/ghq/github.com/ruby/irb/lib/irb/completion.rb:236:in `retrieve_completion_data': premature end of char-class: /^Array[/ (RegexpError)
2023-06-05Add missing write barriereileencodes
We were missing the write barrier for class_value to cref. This should fix the segv we were seeing in http://ci.rvm.jp/logfiles/brlog.trunk-gc-asserts.20230601-165052 Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/7900
2023-06-05Revert "Revert "Fix cvar caching when class is cloned""eileencodes
This reverts commit 10621f7cb9a0c70e568f89cce47a02e878af6778. This was reverted because the gc integrity build started failing. We have figured out a fix so I'm reopening the PR. Original commit message: Fix cvar caching when class is cloned The class variable cache that was added in ruby#4544 changed the behavior of class variables on cloned classes. As reported when a class is cloned AND a class variable was set, and the class variable was read from the original class, reading a class variable from the cloned class would return the value from the original class. This was happening because the IC (inline cache) is stored on the ISEQ which is shared between the original and cloned class, therefore they share the cache too. To fix this we are now storing the `cref` in the cache so that we can check if it's equal to the current `cref`. If it's different we don't want to read from the cache. If it's the same we do. Cloned classes don't share the same cref with their original class. This will need to be backported to 3.1 in addition to 3.2 since the bug exists in both versions. We also added a marking function which was missing. Fixes [Bug #19379] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/7900
2023-06-05[rubygems/rubygems] Try again with ↵Hiroshi SHIBATA
https://github.com/rubygems/rubygems/pull/6693 https://github.com/rubygems/rubygems/commit/73c0d5f059
2023-06-05Move per sections in help messageNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7906
2023-06-05Add additional info for `-0` to `--help` messageNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7906
2023-06-05Fold option lines in help messageNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7906
2023-06-05[DOC] Update flags doc for stringsPeter Zhu
The length of an embedded string is no longer in the flags.
2023-06-05[ruby/singleton] Simplify implementation of `Singleton#instance`.Daniel Pepper
(https://github.com/ruby/singleton/pull/9) - Add more tests to cover rails' usage.
2023-06-05[Bug #19685]: Add `-y` and `--yydebug` document to `--help`Yla Aioi
Add -y option information to `--help` Fix a warning on the man page Notes: Merged: https://github.com/ruby/ruby/pull/7870 Merged-By: nobu <nobu@ruby-lang.org>
2023-06-05[ruby/singleton] Revert "Simplify the implementationHiroshi SHIBATA
(https://github.com/ruby/singleton/pull/7)" This reverts commit https://github.com/ruby/singleton/commit/545b6b61a40d. This change break Rails CI: https://bugs.ruby-lang.org/issues/19711 https://github.com/ruby/singleton/commit/911531d508
2023-06-04Update default gems list at 4275a8098e59c43daa4a85efce9465 [ci skip]git
2023-06-04[ruby/irb] Bump version to 1.7.0Stan Lo
(https://github.com/ruby/irb/pull/596) https://github.com/ruby/irb/commit/c2e7002867
2023-06-03Attrset name is not allowed as an attributeNobuyoshi Nakada
2023-06-03Exit with a failure if any test files failed to loadNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7897
2023-06-03Update default gems list at e6bd1852fb0c4775f6bc9588df30a1 [ci skip]git
2023-06-03[ruby/reline] Bump version to 0.3.5Stan Lo
(https://github.com/ruby/reline/pull/548) https://github.com/ruby/reline/commit/4330a52572
2023-06-03Fix `Thread#join(timeout)` when running inside the fiber scheduler. (#7903)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2023-06-03[ruby/rdoc] Auto-correct trailing new linesVinicius Stock
https://github.com/ruby/rdoc/commit/4b68c0728a
2023-06-03Ripper does not depend on Bison [ci skip]yui-knk
It also uses Lrama then no dependency on Bison. Notes: Merged: https://github.com/ruby/ruby/pull/7896
2023-06-03[ruby/singleton] Simplify the implementationDaniel Pepper
(https://github.com/ruby/singleton/pull/7) Remove `__init__` and move logic to `included`.
2023-06-02YJIT: Use #[cfg] instead of if cfg! (#7899)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-06-02Stabilize test_latest_gc_info_need_major_byJean Boussier
Fix: ``` 1) Failure: TestGc#test_latest_gc_info_need_major_by [/home/runner/work/ruby/ruby/src/test/ruby/test_gc.rb:266]: <nil> expected to not be nil. ``` `GC.stat(:major_gc_count)` can be bumped while `GC.latest_gc_info(:need_major_by)` is still nil. Notes: Merged: https://github.com/ruby/ruby/pull/7895
2023-06-02[ruby/irb] Require `test/lib` helpers from main test helperStan Lo
(https://github.com/ruby/irb/pull/595) Because they are handled differently in `ruby/irb` and `ruby/ruby`.
2023-06-02[ruby/reline] Remove unnecessary conditions forNobuyoshi Nakada
`Fiddle::TYPE_VARIADIC` (https://github.com/ruby/reline/pull/547) https://github.com/ruby/reline/commit/71ba3a9432
2023-06-02Update default gems list at c32a30ec09997b3ee846a33a6873ed [ci skip]git
2023-06-02[ruby/stringio] Development of 3.0.8 started.Hiroshi SHIBATA
https://github.com/ruby/stringio/commit/1587d3698e
2023-06-02Fix the case no file under bin directoryNobuyoshi Nakada
NMake cannot handle empty expanded targets.
2023-06-02[ruby/uri] Drop support for 2.4Nobuyoshi Nakada
https://github.com/ruby/uri/commit/21baf2ba16
2023-06-02Bump octokit/request-action from 2.1.7 to 2.1.8dependabot[bot]
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.7 to 2.1.8. - [Release notes](https://github.com/octokit/request-action/releases) - [Commits](https://github.com/octokit/request-action/compare/89a1754fe82ca777b044ca8e79e9881a42f15a93...352d2ae93e1805721b5fe308598555ba3bd2c8e2) --- updated-dependencies: - dependency-name: octokit/request-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02No need to define "BISON" on extconf.rbyui-knk
"BISON" is defined in "ext/ripper/depend". Notes: Merged: https://github.com/ruby/ruby/pull/7878
2023-06-01Revert "Fix cvar caching when class is cloned"Aaron Patterson
This reverts commit 77d1b082470790c17c24a2f406b4fec5d522636b.
2023-06-01[ruby/irb] Improve debug command testsStan Lo
(https://github.com/ruby/irb/pull/594) * Use require_relative for envutil.rb Requiring test helper files with `require_relative` allows running the tests with `ruby -Itest test/irb/test_debug_cmd.rb` without having to set up the load path. * Replace reline hack with TERM=dumb