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

2125 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA a6a68bae3c
Removed needless gemspec of webrick 2020-12-11 14:16:42 +09:00
Hiroshi SHIBATA 947a5505e5
Bump webrick-1.7.0 for version management with ruby/webrick. 2020-12-11 14:16:42 +09:00
NARUSE, Yui 7856da5fe7 remove bz2 2020-12-10 18:24:43 +09:00
Hiroshi SHIBATA 0e73b49b4c Promote webrick to bundled gems 2020-12-10 18:06:25 +09:00
Hiroshi SHIBATA 5dc786bf86 Move webrick library into internal test toolchain 2020-12-10 18:06:25 +09:00
Hiroshi SHIBATA aeeaf90b7e
Added missing dependency of fileutils 2020-12-08 18:38:25 +09:00
Nobuyoshi Nakada 05e1d87e62
rbinstall.rb: do not install useless files after installed 2020-12-07 23:57:31 +09:00
Nobuyoshi Nakada 91f831ac17
Extract gemspec to versioned file
Not to be overwritten by test-bundler-prepare.  gem files often
contain useless gemspec files which have not been processed.
2020-12-07 23:47:37 +09:00
Nobuyoshi Nakada e025113d71
rbinstall.rb: relaxed split argument
did_you_mean splits the output by `$/`.
2020-12-07 22:40:46 +09:00
Nobuyoshi Nakada 5894ea5954
rbinstall.rb: fix the position to expand files
As `spec.files` is used for `executables` and so on, the expanded
list needs to be located at the same place.
2020-12-07 22:38:09 +09:00
Nobuyoshi Nakada 29dee10af2
rbinstall.rb: install files expanded from bundled gems
Although gemspec file (e.g., power_assert and rake) often uses
`git ls-files`, as it does not make sense in other than its own
repository, it has been ignored now.  Gather all files expanded
from the bundled gem to install, instead.
2020-12-07 19:09:23 +09:00
Nobuyoshi Nakada e4e2a33560
update-bundled_gems: support recent format, keep the tag to test 2020-12-06 16:11:10 +09:00
Nobuyoshi Nakada ea9f16a27f
update-bundled_gems: chomp ".git" suffix from the source code URI 2020-12-06 16:11:09 +09:00
Nobuyoshi Nakada 967ed35bbb
Moved update-bundled_gems code to a tool 2020-12-06 16:11:09 +09:00
Benoit Daloze b4ec4a41c2 Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&
* Otherwise those tests, etc cannot run on alternative Ruby implementations.
2020-12-04 16:45:54 +01:00
Takashi Kokubun f1757a88a4
Avoid leaving too many core files in /tmp
for CIs like ci.rvm.jp.
2020-12-03 21:33:35 -08:00
Takashi Kokubun 30fba5f37d
Do not require time and fileutils by default
I have no idea what I'm doing, but the previous commit caused lots of CI
failures like https://github.com/ruby/ruby/runs/1496949568 and this
place is the most suspicious.
2020-12-03 21:24:36 -08:00
Takashi Kokubun 067f45ecd3
Save a core file on a worker crash
CI failures like
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3280458 doesn't
provide any useful information, and it doesn't leave a core file in a CI
environment because a test like `Process.kill(:TRAP, $$)` overwrites in
a next run very quickly.

Thus I'd like to keep core files in /tmp.
2020-12-03 21:01:25 -08:00
Takashi Kokubun 0734a6cd59
Revert "Report a full_message on a worker crash"
This reverts commit 00f046ef57.
It was not helpful for an issue I was debugging.
2020-12-03 20:55:36 -08:00
Nobuyoshi Nakada 2a99fea89e
test-bundled-gems.rb: show failed gems at last 2020-12-03 21:31:44 +09:00
Nobuyoshi Nakada 9e94cd18fc
test-bundled-gems: select bundled gems to test by BUNDLED_GEMS 2020-12-02 17:06:09 +09:00
Koichi Sasada e79f1941b2 tune parallel test
This patch contains the fowllowing hacks:

(1) Add "--timetable-data=FILE" option for test-all
    This option enables to dump timeline event
    contains worker, suite, and start/end time.
(2) remove TestJIT in test_jit_debug.rb on parallel test.
    it is duplicated test.
(3) move test_jit.rb and test_jit_debug.rb at first
    because these two tests are bottleneck of parallel tests.

On my environment, `make test-all TESTS=-j12` reduced the total time
190 seconds -> 140 seconds.
2020-12-01 09:39:09 +09:00
Takashi Kokubun d409837729
Cache access to reg_cfp->self on JIT
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-11-27T06:41:15Z master 8ce1711c25) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-11-27T08:36:02Z master 2c592126b9) +JIT [x86_64-linux]
last_commit=Cache access to reg_cfp->self on JIT
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    82.40522392468650     82.66023870551237 fps
                            82.67998539899482     83.08660305312587
                            85.51280693947453     87.09311989553235
                            86.32925337181406     87.16115255191410
                            87.35617494926235     87.30699391518075
                            87.91865339426212     88.47590342996875
                            88.11573661006648     88.64778616696353
                            88.16060826662158     88.67015079203991
                            88.21639244865058     89.19630739497482
                            88.47241577897603     89.23443637947730
                            89.37087287229809     89.57052723997015
                            89.46969964699964     89.97803363889025
```
2020-11-27 00:42:42 -08:00
Takashi Kokubun 8ce1711c25
Revert "Set VM_FRAME_FLAG_FINISH at once on MJIT"
This reverts commit 4d2c8edca6.

Unfortunately this seems to cause several issues:
https://github.com/ruby/ruby/runs/1462188376?check_suite_focus=true
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3272802
2020-11-26 22:41:15 -08:00
Takashi Kokubun 4d2c8edca6
Set VM_FRAME_FLAG_FINISH at once on MJIT
Performance is probably improved?

$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-11-27T04:37:47Z master 69e77e81dc) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-11-27T05:28:19Z master df6b05c6dd) +JIT [x86_64-linux]
last_commit=Set VM_FRAME_FLAG_FINISH at once
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    80.89292998533379     82.19497327502751 fps
                            80.93130641142331     85.13943315260148
                            81.06214830270119     87.43757879797808
                            82.29172808453910     87.89942441487113
                            84.61206450455929     87.91309779491075
                            85.44545883567997     87.98026086648694
                            86.02923132404449     88.03081060383973
                            86.07411817365879     88.14650206137341
                            86.34348799602836     88.32791633649961
                            87.90257338977324     88.57599644892220
                            88.58006509876580     88.67426384743277
                            89.26611118140011     88.81669430874207

This should have no bad impact on VM because this function is ALWAYS_INLINE.
2020-11-26 21:32:14 -08:00
Takashi Kokubun 00f046ef57
Report a full_message on a worker crash
A worker crash happens very often, but we're not sure why.
I'd like to know a backtrace if it's available.
2020-11-24 20:36:39 -08:00
Takashi Kokubun 53e352fd71
Increase the # of downloader.rb's retry attempts
Apparently 9 was not enough either.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz
2020-11-23 00:06:51 -08:00
Takashi Kokubun 1fea0367d2
Clarify the intention of `false &&` 2020-11-22 22:09:42 -08:00
Nobuyoshi Nakada e9c3de4764
make-snapshot: don't store symlinks by 7z for reproduceable pacakges 2020-11-22 11:30:02 +09:00
Nobuyoshi Nakada 0f51105ece
make-snapshot: measure archiving times 2020-11-22 11:01:17 +09:00
Nobuyoshi Nakada 821aa35c8b
make-snapshot: suppress messages copying cached files unless verbose 2020-11-22 10:59:32 +09:00
Nobuyoshi Nakada 11cd9339a8
make-snapshot: clean autoconf caches for reproduceable packages 2020-11-22 10:49:02 +09:00
Kazuhiro NISHIYAMA 4b899f9164 Try to fix download error
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
```
tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess
```
2020-11-20 14:18:14 +09:00
Hiroshi SHIBATA ffc8cf12e2
Fixed typo 2020-11-12 21:05:33 +09:00
Nobuyoshi Nakada bf951c763d
An ellipsis (...) can only be placed at the beginning 2020-10-29 18:14:27 +09:00
Koichi Sasada 7ad56fd87b freeze dynamic regexp literals
Regexp literals are frozen, and also dynamically comppiled Regexp
literals (/#{expr}/) are frozen.
2020-10-27 01:45:57 +09:00
Nobuyoshi Nakada 396e921044
Escape '/*' within block comment too 2020-10-26 09:01:27 +09:00
Koichi Sasada 4414031735 extend timeout of rbs test on rbs tests 2020-10-21 17:59:03 +09:00
Hiroshi SHIBATA 3f97940252
Followed up with 708413807a
* Added sync task for digest
  * Update doc/* for default gems
  * Update the latest version of gemspec
2020-10-19 18:56:19 +09:00
Koichi Sasada f6661f5085 sync RClass::ext::iv_index_tbl
iv_index_tbl manages instance variable indexes (ID -> index).
This data structure should be synchronized with other ractors
so introduce some VM locks.

This patch also introduced atomic ivar cache used by
set/getinlinecache instructions. To make updating ivar cache (IVC),
we changed iv_index_tbl data structure to manage (ID -> entry)
and an entry points serial and index. IVC points to this entry so
that cache update becomes atomically.
2020-10-17 08:18:04 +09:00
Koichi Sasada fad97f1f96 sync generic_ivtbl
generic_ivtbl is a process global table to maintain instance variables
for non T_OBJECT/T_CLASS/... objects. So we need to protect them
for multi-Ractor exection.

Hint: we can make them Ractor local for unshareable objects, but
      now it is premature optimization.
2020-10-14 16:36:55 +09:00
Hiroshi SHIBATA 9aab916990
Promote pathname to default gems 2020-10-14 14:42:53 +09:00
Hiroshi SHIBATA 1e316edf60
Promote drb to the default gems 2020-10-14 14:42:53 +09:00
Soutaro Matsumoto 02e17d473a
Let bundled_gems specify commits to test (#3641) 2020-10-09 18:41:20 +09:00
Hiroshi SHIBATA 533bca57e0
Expose assert, assert_respond_to and assert_not_respond_to for default gems. 2020-10-08 16:40:46 +09:00
Hiroshi SHIBATA 0f9edf2f48
Promote prettyprint to default gems 2020-10-08 16:40:46 +09:00
Hiroshi SHIBATA 2711e3bab9
Promote pp to default gems 2020-10-08 16:40:46 +09:00
Kazuhiro NISHIYAMA f9df340a6a Remove unused commit_info 2020-10-06 11:41:17 +09:00
Nobuyoshi Nakada 82f496a84b
Put an empty line before the original URL
Even if the raw commit log does not end with a newline.
Suggested to use `grep` by znz.

Co-Authored-By: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
2020-10-05 17:32:36 +09:00
Nobuyoshi Nakada ef4ba517e4
Adjusted default gems paths
* sync_default_gems.rb (sync_lib): sync from the same directory as
  sync_default_gems.
2020-10-04 22:55:27 +09:00