summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-01[rubygems/rubygems] Refactor platform matching on LinuxDavid Rodríguez
I think this highlights better how musl is special. https://github.com/rubygems/rubygems/commit/4075771697
2022-09-30Only assert ractor_shareable is consistent on ivar_set for T_OBJECTJemma Issroff
Before d594a5a8bd0756f65c078fcf5ce0098250cba141, we were only asserting that the value on an ivar_get was ractor_sharable if the object was a T_OBJECT and also ractor shareable. We should still be doing this check only if the object is a T_OBJECT and ractor shareable Notes: Merged: https://github.com/ruby/ruby/pull/6477
2022-10-01[ruby/irb] Fix ripper_lex_without_warning duplicated heredoc tokentompng
https://github.com/ruby/irb/commit/45b539af39
2022-09-30A bunch of clippy auto fixes for yjit (#6476)Jimmy Miller
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-30Add Data class implementation: Simple immutable value objectVictor Shepelev
Notes: Merged: https://github.com/ruby/ruby/pull/6353 Merged-By: nobu <nobu@ruby-lang.org>
2022-09-30Split `with_warning_string_from` for the last named parameterNobuyoshi Nakada
2022-09-30[rubygems/rubygems] Prevent a "warning: assigned but unused variable - data"Yusuke Endoh
https://github.com/rubygems/rubygems/commit/ec3fd55d40
2022-09-30Add `--zone` option to `VCS`Nobuyoshi Nakada
Which controls the timezone offset for `RUBY_RELEASE_DATE`. Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Introduce `VCS::Null` for fallbackNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Check for the availability of the command when detectingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Pull up `VCS.short_revision` from `VCS::SVN`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-29Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17fBenoit Daloze
* So it's easy to review https://github.com/ruby/ruby/pull/6242 + https://github.com/ruby/ruby/pull/6467 and there are less changes overall.
2022-09-29Extend tests for a zsuper method of which the method it resolved to has been ↵Benoit Daloze
removed Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29Resolve zsuper method during lookup but preserve owner separatelyBenoit Daloze
* See https://bugs.ruby-lang.org/issues/18729#note-34 * See [Bug #18729] Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29Add specs for {Method,UnboundMethod}#owner of a zsuper methodBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29Fix {Method,UnboundMethod}#super_method for zsuper methodsBenoit Daloze
* We need to resolve the zsuper method first, and then look the super method of that. Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29[Bug #19029] Don't start GC during compactionMatt Valentine-House
RARRAY_PTR when called with a transient array detransients the array before returning its pointer which allocates in the heap. Because RARRAY_PTR was being used during compaction (when re-embedding arrays that have moved between size pools) this introduces the possibility that we can hit a malloc threshold, triggering GC, while in the middle of compaction. We should avoid this by using safer functions to get hold of the pointer. Since we know that the array is not embedded here, we can use ARY_HEAP_PTR and ARY_EMBED_PTR directly Notes: Merged: https://github.com/ruby/ruby/pull/6466
2022-09-29Update bundled gems list at 866cfb248e269f64951c8521707322 [ci skip]git
2022-09-29Update bundled_gemsShugo Maeda
2022-09-29[rubygems/rubygems] Refine error message to check the push URL instead of ↵Jenny Shen
just the host https://github.com/rubygems/rubygems/commit/46990f3292
2022-09-29[rubygems/rubygems] Refactor tests to use Net::HTTPResponse instances for ↵Jenny Shen
fetcher.data[:path] https://github.com/rubygems/rubygems/commit/4d91cacb1f Co-authored-by: Jacques Chester <jacques.chester@shopify.com>
2022-09-29[rubygems/rubygems] Surface entire redirect uri in permanent redirectionsJenny Shen
https://github.com/rubygems/rubygems/commit/da7837630b
2022-09-29[rubygems/rubygems] Add error message when api response is a permanent redirectJenny Shen
https://github.com/rubygems/rubygems/commit/ccca30c77a Co-authored-by: Nick Schwaderer <nick.schwaderer@shopify.com>
2022-09-29Skip unpack_sockaddr_in with http at Solaris platformHiroshi SHIBATA
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20220929T050003Z.fail.html.gz
2022-09-29[ruby/date] The shrunk words to be copied is limitedNobuyoshi Nakada
Th buffer size is small enough and no need to allocate dynamically. https://github.com/ruby/date/commit/f62bf0a01d
2022-09-29bootstraptest/runner: run in parallel if in parallel buildNobuyoshi Nakada
2022-09-29[ruby/date] Narrow ALLOCV region for shrunk wordsNobuyoshi Nakada
https://github.com/ruby/date/commit/f51b038074
2022-09-29Update bundled gems list at 8c4e52fbe8a07da76c4038e4c5dc51 [ci skip]git
2022-09-29Update bundled_gemsHiroshi SHIBATA
2022-09-29Update NEWS.md with updated coverage interfaces.Samuel Williams
2022-09-29Add `Coverage.supported?` to detect what modes are supported.Samuel Williams
2022-09-29Add `eval: true/false` flag to `Coverage.setup`.Samuel Williams
2022-09-29[rubygems/rubygems] Put bundler gemspec stub at the right placeDavid Rodríguez
So that it's found when needed, rather than dynamically modifying loaded stubs and thus messing with RubyGems internals. https://github.com/rubygems/rubygems/commit/cd3e7cb9e5
2022-09-29[rubygems/rubygems] Only activate bundler when neededDavid Rodríguez
Loading Bundler beforehand was actually replacing ENV with a backup of the pre-Bundler environment through `Bundler::EnvironmentPreserver`. I think that was making a bug in `ENV.replace` not bite our tests, because Bundler includes proper patches to workaround that issue. So this commit also includes these patches in RubyGems tests. https://github.com/rubygems/rubygems/commit/8e079149b9
2022-09-29[rubygems/rubygems] Test a pure RubyGems methodDavid Rodríguez
`Gem::Specification#load_paths` is actually a Bundler thing. https://github.com/rubygems/rubygems/commit/d20b4d1950
2022-09-29[rubygems/rubygems] Little refactor to keep things consistentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/3934deb4e4
2022-09-29[rubygems/rubygems] Remove unnecessary `ensure`David Rodríguez
https://github.com/rubygems/rubygems/commit/6c0c02c533
2022-09-29[rubygems/rubygems] Require bundler consistentlyDavid Rodríguez
The `$LOAD_PATH` should be properly setup so that the local version is used. https://github.com/rubygems/rubygems/commit/03c0ab4082
2022-09-29[rubygems/rubygems] Remove unnecessary constantDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4bd77488ad
2022-09-29[rubygems/rubygems] Cleaup unnecessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2e05dadbc5
2022-09-29[rubygems/rubygems] Unskip stuff that now works on JRubyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d86a5ae2eb
2022-09-28Update to ruby/spec@1d9d5c6Benoit Daloze
2022-09-28Update to ruby/mspec@b60306dBenoit Daloze
2022-09-28Shapes wrappers shouldn't mark the shapeAaron Patterson
We don't allocate shapes out of the GC anymore, so we shouldn't mark those pointers.
2022-09-29* expand tabs. [ci skip]git
Tabs were expanded because the file did not have any tab indentation in unedited lines. Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
2022-09-28This commit implements the Object Shapes technique in CRuby.Jemma Issroff
Object Shapes is used for accessing instance variables and representing the "frozenness" of objects. Object instances have a "shape" and the shape represents some attributes of the object (currently which instance variables are set and the "frozenness"). Shapes form a tree data structure, and when a new instance variable is set on an object, that object "transitions" to a new shape in the shape tree. Each shape has an ID that is used for caching. The shape structure is independent of class, so objects of different types can have the same shape. For example: ```ruby class Foo def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end class Bar def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end foo = Foo.new # `foo` has shape id 2 bar = Bar.new # `bar` has shape id 2 ``` Both `foo` and `bar` instances have the same shape because they both set instance variables of the same name in the same order. This technique can help to improve inline cache hits as well as generate more efficient machine code in JIT compilers. This commit also adds some methods for debugging shapes on objects. See `RubyVM::Shape` for more details. For more context on Object Shapes, see [Feature: #18776] Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com> Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-09-28Always use the longer version of `TRY_WITH_GC`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6464
2022-09-28bootstraptest/runner: manage sub processes with the job serverNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6463
2022-09-28bootstraptest/runner: fold dots by window sizeNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6463
2022-09-28[rubygems/rubygems] Force "master" to be used regardless of ↵David Rodríguez
`init.defaultBranch` config Otherwise, if you have `init.defaultBranch main` configured, like I do, a bunch of tests fail with things like: ``` ============================================================================================================================================================================================================ Error: test_checkout_submodules(TestGemSourceGit): Gem::Exception: unable to find reference master in /Users/deivid/Code/rubygems/rubygems/tmp/test_rubygems_20220928-13878-xog1je/git/a /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:188:in `rev_parse' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:143:in `dir_shortref' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:158:in `install_dir' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:94:in `checkout' /Users/deivid/Code/rubygems/rubygems/test/rubygems/test_gem_source_git.rb:78:in `test_checkout_submodules' 75: system @git, "commit", "--quiet", "-m", "add submodule b" 76: end 77: => 78: source.checkout 79: 80: assert_path_exist File.join source.install_dir, "a.gemspec" 81: assert_path_exist File.join source.install_dir, "b/b.gemspec" ============================================================================================================================================================================================================ fatal: ambiguous argument 'master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' fatal: ambiguous argument 'master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' E ``` In the future, I'd like to change things to use `main`, but the straighforward fix now is to keep "master" and make the running environment's git configuration not get in the middle. https://github.com/rubygems/rubygems/commit/b09b1416f1