1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

60540 commits

Author SHA1 Message Date
K.Takata
e89ebdcb87
Fix typos ()
* Fix a typo

* Fix typos in st.[ch]
2020-03-11 00:43:12 -07:00
Takashi Kokubun
9511b4c8fa
Optimize away call data refs in JIT-ed method calls
According to ko1, `cd->cc != cc` was for GC.compact guard.
As we pin cc by rb_gc_mark(), we don't need the check.

```
$ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all
before --jit: ruby 2.8.0dev (2020-03-11T05:36:48Z master da6948753e) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-03-11T06:26:34Z master 36b20b8b4a) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    74.03480698689405     71.63404803273507 fps
                            74.15085286586992     73.43923328104295
                            75.51738277744781     75.75465268365384
                            76.24922600109410     76.74071607861318
                            76.45513422802325     77.47521029238116
                            76.86617230739330     78.14759496269018
                            77.71509137131933     79.14051571125866
                            77.72839157096146     79.35884822673313
                            78.25218904561633     79.92538876408051
                            78.72521071333249     79.98075556706726
                            78.79950460165091     80.51747831497875
                            79.43884960720381     80.97973166525254
```
2020-03-10 23:29:50 -07:00
Takashi Kokubun
da6948753e
Fix an example committed to a wrong place [ci skip] 2020-03-10 22:36:48 -07:00
Takashi Kokubun
de4999ef23
Try to correct grammer of the NEWS entry [ci skip] 2020-03-10 22:29:40 -07:00
Takashi Kokubun
e0512b29aa
Let Net::HTTP.get take request headers ()
* Let Net::HTTP.get take request headers

* Add more test cases for no header usages

* Add examples with request headers

* Add a NEWS entry [ci skip]

[Feature ]
2020-03-10 22:26:22 -07:00
git
12009fb3b9 * 2020-03-11 [ci skip] 2020-03-11 02:55:28 +09:00
Koichi Sasada
d05455d083 fix type cast 2020-03-11 02:55:07 +09:00
Koichi Sasada
2943ff9d44 fix bug on method cache invalidation.
To invalidate cached method entry, existing method entry (ment)
is marked as invalidated and replace with copied ment. However,
complemented method entry (method entries in Module) should not
be set to Module's m_tbl.
[Bug ]
2020-03-11 02:50:44 +09:00
Koichi Sasada
ec78b8b62a show method entry with iseq details 2020-03-11 02:50:44 +09:00
Koichi Sasada
d9135743c0 add debug method RubyVM::mtbl2 (disabled) 2020-03-11 02:50:44 +09:00
Kazuhiro NISHIYAMA
bf9abc4772
Use URL instead of relative path 2020-03-10 22:20:18 +09:00
Kazuhiro NISHIYAMA
21039d9c73
Add link to ../benchmark/README.md from make_cheatsheet [ci skip] 2020-03-10 22:18:59 +09:00
Nobuyoshi Nakada
2fd779fcd9
Added version guard for OpenSSL::Config 2020-03-10 21:47:18 +09:00
Kazuki Yamaguchi
e4a26cd4f8 openssl: sync with upstream repository
Import current master (2c43241dc0ed) of ruby/openssl.git.

Below are the commits that were made since the last batch at commit
b99775b163 (ruby/openssl.git commit f49e7110ca1e). Note that some of
them have been applied already.

----------------------------------------------------------------
Benoit Daloze (1):
      Remove redundant and ignored workflow file

DBL-Lee (1):
      add support for SHA512_256/SHA512_224

Hiroshi SHIBATA (2):
      Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms
      Fixed inconsistency directory structure with ruby/ruby repo

Jeremy Evans (2):
      Fix keyword argument separation issues in OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock
      Remove taint support

Kazuki Yamaguchi (26):
      config: support .include directive
      random: make OpenSSL::Random.pseudo_bytes alias of .random_bytes
      extconf.rb: get rid of -Werror=deprecated-declarations
      test/openssl/test_ssl: skip test_fallback_scsv if necessary
      ts: simplify OpenSSL::Timestamp::Request#algorithm
      History.md: add missing references to GitHub issues
      config: deprecate OpenSSL::Config#add_value and #[]=
      test/openssl/test_ssl: remove sleep from test_finished_messages
      test/openssl/test_ssl: fix random failure in SSLSocket.open test
      test/openssl/test_ssl: avoid explicitly-sized private keys
      test/openssl/test_ssl: remove commented-out test case
      test/openssl/test_ssl: allow kRSA tests to fail
      ssl: avoid declarations after statements
      engine: revert OpenSSL::Engine.load changes for cloudhsm
      engine: remove really outdated static engines
      engine: do not check for ENGINE_load_builtin_engines()
      engine: fix guards for 'dynamic' and 'cryptodev' engines
      lib/openssl.rb: require openssl/version.rb
      x509: add error code and verify flags constants
      ssl: set verify error code in the case of verify_hostname failure
      .github/workflows: merge CI jobs into a single workflow
      .github/workflows: test against different OpenSSL versions
      .travis.yml: fully migrate to GitHub Actions
      ssl: suppress test failure with SSLContext#add_certificate_chain_file
      ssl: remove test case test_puts_meta from test_pair
      Revert "Use version.rb in gemspec"

MSP-Greg (2):
      .travis.yml - remove 2.3/1.0.2, 2.5/1.1.1, head/1.0.2
      Use version.rb in gemspec

Samuel Williams (1):
      Restore compatibility with older versions of Ruby.

Yusuke Endoh (1):
      Make OpenSSL::OSSL#test_memcmp_timing robust
2020-03-10 17:41:01 +09:00
Kazuki Yamaguchi
61cfd6da84 tool/sync_default_gems.rb: update paths for openssl
Now ruby/openssl has a different directory structure. The test suite is
moved from /test/test_* to /test/openssl/test_*.
2020-03-10 17:41:01 +09:00
Kazuki Yamaguchi
28f3e03880 digest: do not depend on ext/openssl/deprecation.rb
ext/openssl/deprecation.rb has been removed in ext/openssl upstream[1].

It was originally introduced to detect and prevent linking against
Apple's bundled (and very outdated) version of OpenSSL. It is long gone
and the header files do not exist in current versions of macOS.

The dependency in ext/digest was introduced by commit 26e258c807.
Note that the original issue[2] is resolved without this dependency.
The commit also added the pkg_config("openss") call to match what
ext/openssl does.

[1] https://github.com/ruby/openssl/pull/333
[2] https://bugs.ruby-lang.org/issues/6379
2020-03-10 17:41:01 +09:00
Takashi Kokubun
aa3a7d6d74
Remove an unnecessary TODO comment
Fixing 4bcd5981e8/mjit.c (L338)
should be the right solution for this. We may not be able to free the cc immediately.

Plus, we're not copying cc but just holding references to be marked. cc
should be GC-ed once jit_unit is freed.
2020-03-10 01:33:38 -07:00
Takashi Kokubun
4bcd5981e8
Capture inlined iseq's cc entries in root iseq's
jit_unit to avoid marking wrong cc entries when inlined iseq is compiled
multiple times, resolving the TODO added by daf7c48d88.

This obviates pseudo jit_unit in inlined iseq introduced by 7ec2359374
and fixes memory leak of the adhoc unit.
2020-03-10 00:53:35 -07:00
Takashi Kokubun
4015f27a4d
Drop direct Slack notification from CIs
All Slack alerts have been migrated to a bot made by mame-san
2020-03-09 22:39:19 -07:00
Nobuyoshi Nakada
bba2b70949
RDoc markdown parser needs explicit code block or more indents [ci skip] 2020-03-10 12:57:35 +09:00
Nobuyoshi Nakada
384feb6c51
Added link to the ticket [ci skip] 2020-03-10 12:43:49 +09:00
git
62d82b6dfe * 2020-03-10 [ci skip] 2020-03-10 00:13:00 +09:00
Jeremy Evans
9034cbd331 Update NEWS for autosplatting change [ci skip] 2020-03-09 08:11:13 -07:00
Jeremy Evans
e02bd0e713
Don't display singleton class in Method#inspect unless method defined there
Previously, if an object has a singleton class, and you call
Object#method on the object, the resulting string would include
the object's singleton class, even though the method was not
defined in the singleton class.

Change this so the we only show the singleton class if the method
is defined in the singleton class.

Fixes [Bug ]
2020-03-09 07:57:16 -07:00
Jeremy Evans
ecef163cf9 Remove Float::ROUNDS
Fixes [Bug ]
2020-03-09 06:39:42 -07:00
zverok
d019cac08a Clarify Time::at documentation for in: argument 2020-03-09 22:28:33 +09:00
Takashi Kokubun
d8fcc67642
Skip test_06_timeout for --jit-wait CI
This test has been too unstable on trunk-mjit-wait
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2782206
2020-03-08 22:34:33 -07:00
Hiroshi SHIBATA
544ebc669b
Use https for downloading Unicode data.
Retry with 90de118a75

  [Bug ][ruby-core:83074]
2020-03-09 13:39:23 +09:00
Jeremy Evans
f4394bbca3 Do not autosplat when calling procs that accept rest and keywords
When providing a single array to a block that takes a splat, pass the
array as one argument of the splat instead of as the splat itself,
even if the block also accepts keyword arguments.  Previously, this
behavior was only used for blocks that did not accept keywords.

Implements [Feature#16166]
2020-03-08 20:49:09 -07:00
Jeremy Evans
040cfc89b9 Do not set USE_FFI_CLOSURE_ALLOC=1 in fiddle on OpenBSD
On OpenBSD, USE_FFI_CLOSURE_ALLOC was always set to 0 previously. In
633a1f15d8, the code was modified in a
way that it ended up being set to 1 on OpenBSD.  However, that results
in SIGABRT when running make test-all, inside ffi_closure_free.
Setting USE_FFI_CLOSURE_ALLOC back to 0 fixes the issue.
2020-03-08 17:47:48 -07:00
git
fe3514ae60 * 2020-03-09 [ci skip] 2020-03-09 02:57:48 +09:00
Koichi Sasada
dff69bb462 Cast properly for shift operand
`(int) << RHASH_LEV_SHIFT` can be negative integer.
2020-03-09 02:53:46 +09:00
Nobuyoshi Nakada
daa04c5562
Word array instead of splitting 2020-03-08 17:39:22 +09:00
Nobuyoshi Nakada
2b7409a2f2
Specify explicit separator not to be affected by $; 2020-03-08 17:38:37 +09:00
git
53efe63280 * 2020-03-08 [ci skip] 2020-03-08 10:19:18 +09:00
David Rodríguez
2b6ec768fc
Fix rbinstall bugs ()
* Fix incorrect calls to `Gem.ensure_gem_subdirectories`

This method doesn't take keyword args.

* Remove stuff no longer necessary

Now `Gem.ensure_gem_subdirectories` is doing its job, so some stuff is
no longer needed.

* Use the proper method for default gems

* Respect DESTDIR when creating rubygems folder layout

* Use `Gem.default_specifications_dir`
2020-03-08 10:18:53 +09:00
Hiroshi SHIBATA
47a1872cd8
Use osuosl instead of GitHub releases
Because the package provided by GitHub releases is different from sourceware.
2020-03-07 20:45:09 +09:00
Hiroshi SHIBATA
8602216746
Switch to download libffi source package to github releases from sourceware.org 2020-03-07 19:57:28 +09:00
卜部昌平
ada2f71c70 rb_check_safe_obj no longer exists
Commit e91c39f1c0 deleted definition of it.
Though I'm not sure if we can delete public API like this, it no longer
works nontheless.  Having declaration without definiton is worse than
having nothing at all.  Just delete the declartion too.
2020-03-07 19:06:10 +09:00
Takashi Kokubun
f9f3510e64
Hook an experimental alert from Actions 2020-03-07 00:34:41 -08:00
Takashi Kokubun
b9d45d3ac0
Hook an experimental alert from Travis 2020-03-07 00:21:39 -08:00
Nobuyoshi Nakada
108f7536b3
Removed unnecessary chomp
As `String#split` with the default argument drops trailing newline
as a separator, preceding `String#chomp` is futile.
2020-03-07 17:04:37 +09:00
Takashi Kokubun
65aa68b009
Hook an experimental alert from AppVeyor 2020-03-06 23:46:55 -08:00
Kazuhiro NISHIYAMA
fcd605020b
Fix a typo 2020-03-07 13:49:28 +09:00
Takashi Kokubun
9745e90197
Propagate JIT skip to all tests 2020-03-06 20:19:56 -08:00
Jeremy Evans
f991340e07 Document defined? and global_variables handling of regexp global variables [ci skip]
Fixes [Bug ]
2020-03-06 13:06:49 -08:00
Koichi Sasada
c3584dfacc check ar_table first.
RHASH_AR_TABLE_SIZE() has assertion that it is a ar_talbe.
The last commit breaks this assumption so check ar_table first.
2020-03-07 03:55:54 +09:00
Koichi Sasada
4c019f5a62 check ar_table after #hash call
ar_table can be converted to st_table just after `ar_do_hash()`
function which calls `#hash` method. We need to check
the representation to detect this mutation.
[Bug ]
2020-03-07 03:34:17 +09:00
git
44462d3206 * 2020-03-07 [ci skip] 2020-03-07 02:39:19 +09:00
Takashi Kokubun
87ad5ea729
Skip jit_test on some new RubyCI envs for now 2020-03-06 09:38:55 -08:00