Age | Commit message (Collapse) | Author |
|
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20220929T050003Z.fail.html.gz
|
|
Th buffer size is small enough and no need to allocate dynamically.
https://github.com/ruby/date/commit/f62bf0a01d
|
|
|
|
https://github.com/ruby/date/commit/f51b038074
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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
|
|
`Gem::Specification#load_paths` is actually a Bundler thing.
https://github.com/rubygems/rubygems/commit/d20b4d1950
|
|
https://github.com/rubygems/rubygems/commit/3934deb4e4
|
|
https://github.com/rubygems/rubygems/commit/6c0c02c533
|
|
The `$LOAD_PATH` should be properly setup so that the local version is
used.
https://github.com/rubygems/rubygems/commit/03c0ab4082
|
|
https://github.com/rubygems/rubygems/commit/4bd77488ad
|
|
https://github.com/rubygems/rubygems/commit/2e05dadbc5
|
|
https://github.com/rubygems/rubygems/commit/d86a5ae2eb
|
|
|
|
|
|
We don't allocate shapes out of the GC anymore, so we shouldn't mark
those pointers.
|
|
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.
|
|
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>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6464
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6463
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6463
|
|
`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
|
|
Commit aa2a428 introduced a bug where non-embedded string slices copied
the encoding of the original string. If the original string had a broken
encoding but the slice has valid encoding, then the slice would be
incorrectly marked as broken encoding.
Notes:
Merged: https://github.com/ruby/ruby/pull/6456
|
|
Just like commit 1c16645 for arrays, this commit changes string slices
to be a view rather than a copy even if it can be allocated through VWA.
Notes:
Merged: https://github.com/ruby/ruby/pull/6456
|
|
It is no longer single lldb_cruby.py only.
|
|
Too big parts of fractional hour time zone offset can cause assertion
failures.
https://github.com/ruby/date/commit/06bcfb2729
|
|
This list is out of date. At least OpenBSD since 2013 does not
allow one user to read the environment variables of a process
run by another user.
While we could try to keep the list updated, I think it's a bad
idea to not use the user/password from the environment, even if
another user on the system could read it. If http_proxy exists
in the environment, and other users can read it, it doesn't
make it more secure for Ruby to ignore it. You could argue that
it encourages poor security practices, but net/http should provide
mechanism, not policy.
Fixes [Bug #18908]
https://github.com/ruby/net-http/commit/1e4585153d
|
|
|
|
https://github.com/ruby/bigdecimal/commit/4f0894c6c0
|
|
Add assertion wrt label names
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
(#6457)
Reverse configure.ac changes that disable YJIT stats on Graviton1
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
* Change IncrCounter lowering on AArch64
Previously we were using LDADDAL which is not available on
Graviton 1 chips. Instead, we're going to use an exclusive
load/store group through the LDAXR/STLXR instructions.
* Update yjit/src/backend/arm64/mod.rs
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
Previously 9eead86 introduced non-commutativity of platforms, and
later commit 1b9f7f50 changed the behavior of `Gem::Platform.match` to
ensure the callee of `#=~` was the gem platform.
However, when the platform argument is a String, then the callee and
argument of `#=~` are flipped (see docs for `String#=~`), which works
against the fix from 1b9f7f50.
Closes #5938
https://github.com/rubygems/rubygems/commit/3b1fb562e8
|
|
Adds remarks about .new and .open.
Uses ..open where convenient (not convenient where output would be in a block).
Fixed examples for #ungetc.
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
This was disabled by b7577b4d9e, while properly fixed upstream by:
https://github.com/ruby/spec/pull/939
Notes:
Merged: https://github.com/ruby/ruby/pull/6393
|
|
Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout .
Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020
Add a test case to make sure the common thread doesn't leak to another ThreadGroup
https://github.com/ruby/timeout/commit/c4f1385c9a
|
|
https://github.com/ruby/psych/commit/8a761cdfb7
|
|
Text is reorganized so that most of the previous text is now in these newly-created sections:
Basic IO
Line IO
New text is added to form new sections:
Character IO
Byte IO
Codepoint IO
This gives the page a functional orientation, so that a reader can quickly find pertinent sections.
The page retains its original mission: to provide good link targets for the doc for related classes.
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
|
|
Revert "* expand tabs. [ci skip]"
This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275.
Revert "This commit implements the Object Shapes technique in CRuby."
This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
|
|
Kernel#y is defined by psych/yaml, which causes occasional
nondeterministic problems with this test when doing parallel testing.
Notes:
Merged: https://github.com/ruby/ruby/pull/6449
|
|
This commit extracts common code between str_substr and rb_str_subseq
into a function called str_subseq.
This commit also applies optimizations in commit 2e88bca to
rb_str_subseq.
Notes:
Merged: https://github.com/ruby/ruby/pull/6447
|
|
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.
|
|
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>
Notes:
Merged: https://github.com/ruby/ruby/pull/6386
|
|
str_new_shared already has all the necessary logic to do this
and is also smart enough to skip this step if the source string
is already a shared string itself.
This saves a useless String allocation on each call.
Notes:
Merged: https://github.com/ruby/ruby/pull/6443
|