Граф коммитов

56698 Коммитов

Автор SHA1 Сообщение Дата
Koichi Sasada a1a198d03a File.realpath can raise ENOTDIR 2019-07-31 21:16:20 +01:00
Aaron Patterson 5ad2dfd8dc
Revert "Let prev EP move"
This reverts commit e352445863.

This is breaking CI and I'm not sure why yet, so I'll revert for now.
2019-07-31 10:34:23 -07:00
git 8d138e9702 * 2019-08-01 2019-08-01 01:43:23 +09:00
Aaron Patterson e352445863
Let prev EP move
This commit allows the previos EP pointer to move, then updates its
location
2019-07-31 09:42:43 -07:00
Nobuyoshi Nakada c94cc6d968
run single spec [ci skip] 2019-07-31 20:46:01 +09:00
Yusuke Endoh 835fa9e54a test/ruby/test_hash.rb: remove a unused vrible
to suppress a warning
2019-07-31 19:55:16 +09:00
Yusuke Endoh 4562c13093 lib/bundler/shared_helpers.rb: remove require "rubygems"
Because it causes circular require.
2019-07-31 19:51:58 +09:00
Benoit Daloze e432f5dafd Split in two spec examples 2019-07-31 11:06:54 +02:00
Benoit Daloze eab6c534ad Attempt to fix Hash#rehash spec 2019-07-31 11:04:35 +02:00
Kazuhiro NISHIYAMA 14eede6e53
Fix `Leaked thread`
Sometimes `Leaked thread: Rinda::TestRingServer#test_ring_server_ipv6_multicast` happens
because `Rinda::TupleSpace#start_keeper` runs after stopping `@keeper`.
2019-07-31 17:45:43 +09:00
Koichi Sasada 40651cf1f5 delete a check on bad assumption.
If object was modified, but there is a case that
hash values (#hash) are same between before modified
and after modified objects.
2019-07-31 15:14:51 +09:00
Koichi Sasada 5f95edb7af check SystemStackError
This recursive iteration test can cause SystemStackError so
check it correctly.
2019-07-31 15:14:51 +09:00
Koichi Sasada cac44def0b backtrace can be nil.
Surprisingly, on SystemStackError#backtrace can return nil.
2019-07-31 15:14:50 +09:00
Koichi Sasada efac0a2384 Revert "add debug code"
This reverts commit e83ec207cd.
2019-07-31 15:14:50 +09:00
Yusuke Endoh 06574ad945 test/ruby/test_float.rb: suppress an overflow warning
```
warning: Float 0xf.fp10000000000000... out of range
```
2019-07-31 14:35:54 +09:00
Koichi Sasada e83ec207cd add debug code 2019-07-31 12:46:34 +09:00
Yusuke Endoh 816e5055c9 test/ruby/test_io.rb (test_binmode_pipe): close all pipes explicitly
to suppress the leak checker.
2019-07-31 11:52:59 +09:00
Yusuke Endoh 1d02832bcf test/rdoc/test_rdoc_rubygems_hook.rb: suppress deprecation warning 2019-07-31 11:46:56 +09:00
Yusuke Endoh 823adea954 test/ruby/test_file_exhaustive.rb: suppress method-redefined warning 2019-07-31 11:46:56 +09:00
Koichi Sasada 312879693f move macro to internal.h for documentation.
13e84d5c0a changes enum to macro, but the flags usage information
are lost in internal.h. It should be same place with other flags
information.
2019-07-31 11:32:14 +09:00
Yusuke Endoh 4979ba38fa test/rubygems/test_gem_remote_fetcher.rb: suppress deprecation warnings 2019-07-31 11:27:59 +09:00
Nobuyoshi Nakada 13e84d5c0a
Moved RHASH_LEV_MASK and turned into a macro
Get rid of "ISO C restricts enumerator values to range of 'int'"
error.
2019-07-31 11:08:05 +09:00
git e315f3a134 * expand tabs. 2019-07-31 10:22:47 +09:00
Koichi Sasada 72825c35b0 Use 1 byte hint for ar_table [Feature #15602]
On ar_table, Do not keep a full-length hash value (FLHV, 8 bytes)
but keep a 1 byte hint from a FLHV (lowest byte of FLHV).
An ar_table only contains at least 8 entries, so hints consumes
8 bytes at most. We can store hints in RHash::ar_hint.

On 32bit CPU, we use 4 entries ar_table.

The advantages:
* We don't need to keep FLHV so ar_table only consumes
  16 bytes (VALUEs of key and value) * 8 entries = 128 bytes.
* We don't need to scan ar_table, but only need to check hints
  in many cases. Especially we don't need to access ar_table
  if there is no match entries (in many cases).
  It will increase memory cache locality.

The disadvantages:
* This technique can increase `#eql?` time because hints can
  conflicts (in theory, it conflicts once in 256 times).
  It can introduce incompatibility if there is a object x where
  x.eql? returns true even if hash values are different.
  I believe we don't need to care such irregular case.
* We need to re-calculate FLHV if we need to switch from ar_table
  to st_table (e.g. exceeds 8 entries).
  It also can introduce incompatibility, on mutating key objects.
  I believe we don't need to care such irregular case too.

Add new debug counters to measure the performance:
* artable_hint_hit - hint is matched and eql?#=>true
* artable_hint_miss - hint is not matched but eql?#=>false
* artable_hint_notfound - lookup counts
2019-07-31 09:52:03 +09:00
Koichi Sasada ebd398ac5a remove RHash::iter_lev.
iter_lev is used to detect the hash is iterating or not.
Usually, iter_lev should be very small number (1 or 2) so
`int` is overkill.

This patch introduce iter_lev in flags (7 bits, FL13 to FL19)
and if iter_lev exceeds this range, save it in hidden attribute.
We can get 1 word in RHash.

We can't modify frozen objects. Therefore I added new internal API
`rb_ivar_set_internal()` which allows us to set an attribute
even if the target object is frozen
if the name is hidden ivar (the name without `@` prefix).
2019-07-31 09:44:23 +09:00
Hiroshi SHIBATA 4afd897524
File.exists? is deprecated. 2019-07-31 07:47:03 +08:00
Hiroshi SHIBATA 3e4e8dbe20
Uninstall ntlm-http and plist for failure of osx test.
It contains too old configuration that is autorequire. It will be
  removed at the RubyGems 3.1.0.
2019-07-31 07:47:03 +08:00
Hiroshi SHIBATA 77c0e23b0c
[rubygems/rubygems] Partly reverted be962ca0c411f3b4bcfebfb6e714c78cbad12775
* `Gem::ConfigMap` is still used by Bundler.
  * `Gem::RubyGemsVersion` is also still referred by the old gems.

https://github.com/rubygems/rubygems/commit/249c3ff44f
2019-07-31 07:47:02 +08:00
Hiroshi SHIBATA 2a81d3a26a
[rubygems/rubygems] Skip integration test for rake package task.
https://github.com/rubygems/rubygems/commit/ca8afc01a3
2019-07-31 07:47:02 +08:00
bronzdoc ab8d9a5325
[rubygems/rubygems] Initialize '@ran_rake' correctly, so we don't have to set it up later and cause confusion
https://github.com/rubygems/rubygems/commit/6ec3ba983c
2019-07-31 07:47:02 +08:00
bronzdoc 5824981d98
[rubygems/rubygems] Remove extension 'double pipe equals' assigment since is not needed anymore
https://github.com/rubygems/rubygems/commit/930de86a24
2019-07-31 07:47:02 +08:00
bronzdoc b73ad4999a
[rubygems/rubygems] Move 'build_for' to handle extension type before the extension is used
https://github.com/rubygems/rubygems/commit/2a32c5ef0a
2019-07-31 07:47:02 +08:00
bronzdoc 9dc0f39de5
[rubygems/rubygems] Do not pass +build_dir+ argument to build_error
https://github.com/rubygems/rubygems/commit/107fea3432
2019-07-31 07:47:02 +08:00
bronzdoc d97fc48e92
[rubygems/rubygems] Remove useless param +build_dir+
https://github.com/rubygems/rubygems/commit/0402974149
2019-07-31 07:47:02 +08:00
bronzdoc a51661d378
[rubygems/rubygems] Drop support for 'gem env packageversion'
https://github.com/rubygems/rubygems/commit/be962ca0c4
2019-07-31 07:47:02 +08:00
David Rodríguez 62e2b2e66f
[rubygems/rubygems] Improve `rake package` test error message
https://github.com/rubygems/rubygems/commit/be962ca0c4
2019-07-31 07:47:02 +08:00
David Rodríguez 61893ddf75
[rubygems/rubygems] Get `rake package` tested
https://github.com/rubygems/rubygems/commit/006cdd4084
2019-07-31 07:47:02 +08:00
David Rodríguez bb6bd7e985
[rubygems/rubygems] Generate a licenses.rb file with correct style
https://github.com/rubygems/rubygems/commit/469fceeb2f
2019-07-31 07:47:02 +08:00
David Rodríguez 497efa0ec9
[rubygems/rubygems] Enable `Layout/AlignArray` cop
https://github.com/rubygems/rubygems/commit/1ea674d8f7
2019-07-31 07:47:02 +08:00
David Rodríguez 0817d95714
[rubygems/rubygems] Enable `Layout/EmptyLinesAroundAccessModifier`
https://github.com/rubygems/rubygems/commit/41b1cebc33
2019-07-31 07:47:02 +08:00
bronzdoc 3cc814bdf6
[rubygems/rubygems] Remove warning: shadowing outer local variable - spec
https://github.com/rubygems/rubygems/commit/70c5c17a5f
2019-07-31 07:47:02 +08:00
bronzdoc 33025d9768
[rubygems/rubygems] Make error code a constant and remove TODO comment
https://github.com/rubygems/rubygems/commit/3d6c7c92e4
2019-07-31 07:47:02 +08:00
Vít Ondruch a3b784b3a0
[rubygems/rubygems] Move default specifications dir definition out of BasicSpecification.
This was never the right place. The method got there just by evolution,
not by design. Move it within default methods, where it suits better.

Since this method is presumably used just internally, it should be safe
to deprecate it and remove later.

https://github.com/rubygems/rubygems/commit/0c0dd9458a
2019-07-31 07:47:02 +08:00
Hiroshi SHIBATA d1806bd8da
[rubygems/rubygems] There is no usage of @orig_env_* variables in test suite.
https://github.com/rubygems/rubygems/commit/2adef51dc9
2019-07-31 07:47:02 +08:00
Hiroshi SHIBATA a3c0ea55f8
[rubygems/rubygems] Ignore GEMRC variable for test suite. It affects with some test case.
https://github.com/rubygems/rubygems/commit/4a0ca2583a
2019-07-31 07:47:02 +08:00
bronzdoc 1eaacb1ef5
[rubygems/rubygems] Use File#open instead of Kernel#open
https://github.com/rubygems/rubygems/commit/bfb3f67494
2019-07-31 07:47:02 +08:00
bronzdoc 41dd9f7e67
[rubygems/rubygems] Deprecate Gem::RemoteFetcher#fetch_size
https://github.com/rubygems/rubygems/commit/c2049c3276
2019-07-31 07:47:02 +08:00
bronzdoc a34168f2ac
[rubygems/rubygems] Autorequire was used by old RubyGems, it is neither supported nor functional.
https://github.com/rubygems/rubygems/commit/cadb66037d
2019-07-31 07:47:02 +08:00
Nobuyoshi Nakada a2f0331c4e
[rubygems/rubygems] Simplify #to_ruby code
Separate #add_runtime_dependency and #add_development_dependency
availability condition from #specification_version availability,
which is not related to directly.
Also check if the former method is available, instead of comparing
the version.

https://github.com/rubygems/rubygems/commit/5cccc2b836
2019-07-31 07:47:02 +08:00
Alexander Pakulov 5947ea31ca
[rubygems/rubygems] Missing dependency
https://github.com/rubygems/rubygems/commit/79b62c233a
2019-07-31 07:47:02 +08:00