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

54063 Коммитов

Автор SHA1 Сообщение Дата
k0kubun 5e84537d32 Revert "mjit_worker.c: try passing -nostdlib to AIX"
This reverts commit b32fb23083.

This didn't work on AIX.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-15 04:02:53 +00:00
svn a01f2f0abd * 2019-01-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-15 03:43:47 +00:00
naruse 01d63239e4 Suppress warning: ambiguous first argument; put parentheses or a space even after `/' operator
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-15 03:43:44 +00:00
nagachika ad10418eab update redmine-backporter to catch up Redmine 4.0. [ci skip]
tool/redmine-backporter.rb: change revision resource URL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 11:04:52 +00:00
nobu 4d727639b4 ast.c: fix missing head part in dynamic literal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 10:16:54 +00:00
k0kubun ec3cdb34ce mjit_worker.c: pass -nostdlib when making pch as well
[Bug #15513]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 07:28:34 +00:00
k0kubun b32fb23083 mjit_worker.c: try passing -nostdlib to AIX
r66812 might have allowed this. Testing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 06:45:24 +00:00
k0kubun d14089fb3c mjit_worker.c: pass -lgcc to GCC platforms
using `-nodefaultlibs -nostdlib`.

I assume libgcc is needed when we use -nostdlib, and it's linked on some
platforms but not linked on some platforms (like aarch64, and possibly
AIX as well) as said in https://wiki.osdev.org/Libgcc :

> You can link with libgcc by passing -lgcc when linking your kernel
with your compiler. You don't need to do this unless you pass the
-nodefaultlibs option (implied by -nostdlib)

Also note that -nostdlib is not strictly needed (rather implied
-nodefaultlibs is problematic for Gentoo like Bug#15513, which will be
approached later) but helpful for performance. So I want to keep it for
now.

[Bug #15522]

I'm not trying to add `-nodefaultlibs -nostdlib` for AIX in this commit
because AIX RubyCI is dead right now, but I'll try to add them again
once RubyCI is fixed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 06:18:53 +00:00
k0kubun d89d1d4687 mjit_worker.c: untangle CC_LIBS nesting
This should have no impact.
The CC_LIBS was too hard to read for human.

I don't remember whether the order of -lmsvcrt and -lgcc matters or not,
but I kept that for the best safety.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 05:50:13 +00:00
svn b4bc6ccb4e * 2019-01-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 04:49:32 +00:00
k0kubun 4840771afb vm_insnhelper.c: make VM helpers inline
In r66597, both VM and JIT seem to be made slower:

```
$ benchmark-driver benchmark.yml --rbenv 'r66596::before --disable-gems;r66597::after --disable-gems;r66596+JIT::before --disable-gems --jit;r66597+JIT::after --disable-gems --jit' -v --repeat-count 24
r66596: ruby 2.7.0dev (2018-12-28 trunk 66596) [x86_64-linux]
r66597: ruby 2.7.0dev (2018-12-28 trunk 66597) [x86_64-linux]
r66596+JIT: ruby 2.7.0dev (2018-12-28 trunk 66596) +JIT [x86_64-linux]
r66597+JIT: ruby 2.7.0dev (2018-12-28 trunk 66597) +JIT [x86_64-linux]
Calculating -------------------------------------
                             r66596      r66597  r66596+JIT  r66597+JIT
Optcarrot Lan_Master.nes     55.174      54.620      88.011      85.326 fps

Comparison:
             Optcarrot Lan_Master.nes
              r66596+JIT:        88.0 fps
              r66597+JIT:        85.3 fps - 1.03x  slower
                  r66596:        55.2 fps - 1.60x  slower
                  r66597:        54.6 fps - 1.61x  slower
```

This commit makes JIT's situation a little better. But in 2.7 we seem to
have some other regressions after that, and this can't still resurrect the
2.6.0's performance.

```
$ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems;after::after --disable-gems;before+JIT::before --disable-gems --jit;after+JIT::after --disable-gems --jit' -v --repeat-count 24
before: ruby 2.7.0dev (2019-01-13 trunk 66808) [x86_64-linux]
after: ruby 2.7.0dev (2019-01-13 trunk 66808) [x86_64-linux]
last_commit=vm_insnhelper.c: make VM helpers inline
before+JIT: ruby 2.7.0dev (2019-01-13 trunk 66808) +JIT [x86_64-linux]
after+JIT: ruby 2.7.0dev (2019-01-13 trunk 66808) +JIT [x86_64-linux]
last_commit=vm_insnhelper.c: make VM helpers inline
Calculating -------------------------------------
                             before       after  before+JIT   after+JIT
Optcarrot Lan_Master.nes     51.710      51.535      83.629      85.486 fps

Comparison:
             Optcarrot Lan_Master.nes
               after+JIT:        85.5 fps
              before+JIT:        83.6 fps - 1.02x  slower
                  before:        51.7 fps - 1.65x  slower
                   after:        51.5 fps - 1.66x  slower
```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-14 04:49:28 +00:00
nobu edb65a6254 rdoc: ignore gemspec files
[ruby-core:91067] [Bug #15531]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 13:49:25 +00:00
nobu 71d2695d17 rdoc: fixup the test for r66806
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 13:41:36 +00:00
nobu 0fb782ea28 rdoc: ignore garbage files
* lib/rdoc/options.rb (RDoc::Options#init_ivars): exclude backup
  files by default.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 13:16:56 +00:00
nobu 6feee125b9 common.mk: common rdoc variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 13:16:55 +00:00
nobu 665d9a4331 time.c: separate sign argument
* time.c (vtm_add_offset): separate sign argument to get rid of
  repeated negations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 04:36:45 +00:00
nobu 019c891508 time.c: do not set utc_offset in vtm_add_offset
* time.c (vtm_add_offset): just add offset to other components
  only.  removed subtraction of utc_offset as it is overwritten
  always immediately in callers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 03:31:01 +00:00
svn 128b6577b3 * 2019-01-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 03:27:18 +00:00
nobu 6d18187371 Fix remaining syntax errors in Binding#irb docs
Apologies for catching those so late.

[Fix GH-2067] [ci skip]

From: Olivier Lacan <hi@olivierlacan.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 03:27:16 +00:00
kazu ad0ba0dc27 trivial fix r66778 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-12 12:39:41 +00:00
nobu 4e28fdf417 No FloatDomainError at non-finitive number if exception: false
[ruby-core:91021] [Bug #15525]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-12 09:36:52 +00:00
nobu 62c17a2f21 No TypeError at nil if exception: false
[ruby-core:91021] [Bug #15525]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-12 05:02:58 +00:00
svn 52a97e36d0 * 2019-01-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-12 04:53:13 +00:00
nobu 056c24d398 RbConfig::CONFIG never had "exeext"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-12 04:53:09 +00:00
nobu 0a5655a5be Drop whole examples
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-11 09:36:49 +00:00
nobu 8197abf9aa Fix r66791
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-11 08:44:41 +00:00
nobu d03771d85a Fix r66772
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-11 07:50:23 +00:00
kazu e4f46eabab Fix make-snapshot for trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-11 04:58:33 +00:00
nobu bdc36b360e Ensure to terminate the child
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-11 01:18:59 +00:00
tenderlove d95b13ead1 Update refinements docs
Co-Authored-By: Vladimir Dementyev <dementiev.vm@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 17:28:13 +00:00
k0kubun dd67af4892 addr2line.c: fix -Wextra-semi
and ignore only -Wgnu-empty-initializer.
https://travis-ci.org/ruby/ruby/jobs/477867392

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 15:42:44 +00:00
k0kubun d74fc1b175 addr2line.c: do not suppress -Wpedantic
because it was for "-assi -Wpedantic" on Travis, but we changed the
Travis build to "-std=c99 -Wpedantic".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 15:02:35 +00:00
svn 1e19973d98 * 2019-01-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 15:00:42 +00:00
k0kubun 299e9cd91a revert r66768 for Ruby 2.7 due to Misc#15347
It's safer to backport r66768 to 2.6 branch, but for 2.7 it's not
needed anymore.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 15:00:40 +00:00
k0kubun d31cbd4ff9 test_jit.rb: change format of test error output
to avoid breaking redmine quote like
https://bugs.ruby-lang.org/issues/15522

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 14:55:24 +00:00
nobu bb44d9ecf0 configure: refuse to build with jemalloc when header is missing
[ruby-core:90964] [Bug #15520]

Freom: Misty De Meo <mistydemeo@github.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 14:44:11 +00:00
k0kubun 56bf732aaf mjit.c: use boolean type for boolean variables
and functions to clarify the intention and make sure it's not used in a
surprising way (like using 2, 3, ... other than 0, 1 even while it seems
to be a boolean).

This is a retry of r66775. It included some typos...

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 14:31:18 +00:00
k0kubun efd99b5331 Revert "mjit.c: use boolean type for boolean variables"
This reverts commit bb1a1aeab0.

We hit something on ci.rvm.jp, reverting until investigation is done.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 13:29:29 +00:00
k0kubun bb1a1aeab0 mjit.c: use boolean type for boolean variables
and functions to clarify the intention and make sure it's not used in a
surprising way (like using 2, 3, ... other than 0, 1 even while it seems
to be a boolean).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 13:21:58 +00:00
kazu 5da9bd0ee5 test/ruby/test_method.rb: Remove unreachable call
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 12:41:06 +00:00
k0kubun bfb684c029 NEWS: announce C99 requirement [ci skip]
[Misc #15347]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 08:22:23 +00:00
nobu 9f1fb0a17f proc.c: proc without block
* proc.c (proc_new): promoted lambda/proc/Proc.new with no block
  in a method called with a block to a warning/error.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 08:19:14 +00:00
k0kubun ec336fb40e configure.ac: Require C99
We already added AC_PROG_CC_C99 in r66605.
This commit stops warning C99 features.

[Misc #15347] [close https://github.com/ruby/ruby/pull/2064]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 08:04:35 +00:00
k0kubun dfdd0e1d08 .travis.yml: allow C99 on pedanticism buid
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 07:59:18 +00:00
nobu 33a75edd3c proc.c: check if callable
* proc.c: check the argument at composition, expect a Proc,
  Method, or callable object.  [ruby-core:90591] [Bug #15428]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 06:01:32 +00:00
nobu 671ef4e9e3 Get rid of C99 feature for now [ruby-core:90949] [Bug #15519]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-10 00:36:28 +00:00
tenderlove 5577a8776e insns.def (duparray, duphash): add dtrace hooks
They are considered Array and Hash creation events, so
allow dtrace (and systemtap) to track those creations.

Co-Authored-By: Eric Wong <e@80x24.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-09 23:04:00 +00:00
svn 5f17fa6c19 * 2019-01-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-09 19:11:35 +00:00
ko1 e3dbe84e12 add setter of iter_lev.
* hash.c: add special setter function (inc and dec).

* internal.h: constify RHash::iter_leve.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-09 19:11:32 +00:00
nobu 140f8b94ce class.c: refactor class_instance_method_list
* class.c (class_instance_method_list): gather singleton and
  extended methods first separately from ancestors.
  [ruby-core:90872] [Bug #15501]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-09 14:04:21 +00:00