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

2274 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada afa9d65d61
make-snapshot: add -extlibs option
`make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes
extracted and patched external library sources that the extension
libraries depend on.
2021-01-04 19:55:35 +09:00
Nobuyoshi Nakada 977252421b
ifchange: check the number of arguments 2021-01-04 15:54:09 +09:00
Nobuyoshi Nakada 37e2a67a74
Method ID of call and fcall can be const not only ident 2021-01-01 00:54:38 +09:00
Nobuyoshi Nakada 0fbf4d0374
Access to reserved word parameter like as `__builtin.arg!(:if)` 2020-12-31 15:11:38 +09:00
Nobuyoshi Nakada f6256d8b7e
bisect.sh: Apply bisect.patch if exists [ci skip]
For some external reasons, e.g. Bison 3.5.91, some commits need to
be applied retroactively in order to pass builds.
2020-12-29 21:12:08 +09:00
Nobuyoshi Nakada b7163c712c
Canonicalization functions were removed already
At b958e2add8
2020-12-29 21:00:16 +09:00
Nobuyoshi Nakada d57c5a7b61 transcode-tblgen.rb: make silent a little when just -v 2020-12-29 17:45:19 +09:00
Nobuyoshi Nakada 365df8d351 transcode-tblgen.rb: send verbose messages to STDOUT 2020-12-29 17:45:19 +09:00
Nobuyoshi Nakada a042043487
Do not include external library sources into packages 2020-12-27 23:33:56 +09:00
Nobuyoshi Nakada 260d626ef6
Ignore symbols declared in the platform header 2020-12-27 15:50:44 +09:00
Nobuyoshi Nakada 366b58d7ca
Ignore objects from the "missing" directory 2020-12-27 15:50:44 +09:00
Nobuyoshi Nakada 0957814c27
Get rid of \K for old BASERUBYs which have a bug in String#scan 2020-12-27 15:50:43 +09:00
Nobuyoshi Nakada d55d0331c7
Exclude entry points 2020-12-27 15:50:02 +09:00
Nobuyoshi Nakada 46ab4fcf2a
Support AC_FUNC_MEMCMP 2020-12-27 15:50:02 +09:00
Nobuyoshi Nakada ddacff2b41
Follow up on variations of the development start messages [ci skip] 2020-12-25 17:43:23 +09:00
NARUSE, Yui 67fe290bb3 fix filename 2020-12-25 15:28:48 +09:00
NARUSE, Yui a89932799c gen-release-note.rb: Avoid to depend release metadata
Because it doesn't have metadata when I edit draft.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 6a6daf3803 Add tag key
Release note will use tag value when I write GitHub URLs with release
tags.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 709d9cf1ba Add release engineering related tools 2020-12-24 17:20:05 +09:00
NARUSE, Yui d58537cf8f Revert "remove bz2"
This reverts commit 7856da5fe7.
For other branches
2020-12-24 17:20:05 +09:00
Nobuyoshi Nakada fb54574393
Pass keyword options in assert_syntax_error 2020-12-24 01:24:30 +09:00
Kenta Murata aa856d5077 [ruby/date] Fix envutil for old Ruby
https://github.com/ruby/date/commit/57e25c406a
2020-12-23 18:19:26 +09:00
Takashi Kokubun 81a8d1cf09
Skip checking ROBJECT_EMBED
when we already check ROBJECT_NUMIV(self) is larger than
ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
of instance variables for the same object doesn't decrease.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml
before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux]
last_commit=Skip checking ROBJECT_EMBED
Calculating -------------------------------------
                              before --jit           after --jit
Optcarrot 3000 frames   102.34091772397872    102.77738408379015 fps
                        103.37784821624231    105.46530219076179
                        104.39567016876369    106.43712452152215
                        105.31782092252713    106.54986150067481
```
2020-12-22 23:50:43 -08:00
Hiroshi SHIBATA 61bd28b836
[ruby/date] Workaround for non-ruby repository like ruby/date, flori/json
https://github.com/ruby/date/commit/1ff7fa2d80
2020-12-23 13:53:40 +09:00
Hiroshi SHIBATA f14aaa2b12
Guard < Ruby 3.0 for the repositories of default gems. 2020-12-23 13:44:47 +09:00
Marc-Andre Lafortune 02233ed024 Adapt tool/search-cgvars.rb for MacOS 2020-12-22 22:25:41 -05:00
Marc-Andre Lafortune 3df3b47187 Add tool/search-cgvars.rb, thanks @ko1 2020-12-22 22:25:41 -05:00
Hiroshi SHIBATA edb76e8765 Prepare to release json-2.5.0 2020-12-22 19:44:27 +09:00
Takashi Kokubun 692af8e8f8
Prefer stdbool in vm_exec
Make the code a bit modern and consistent with some other places.
2020-12-21 21:16:39 -08:00
Akinori MUSHA 63b872c409 Prepare for importing the set gem 2020-12-22 12:17:47 +09:00
Marc-Andre Lafortune 1ecac8e4d0 Add `require_relative` option to `assert_ractor` 2020-12-20 22:00:05 -05:00
Takashi Kokubun 7d0144e055
Check mjit_call_p only when interrupted
for leaf_without_check_ints insns.

$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-20T05:36:00Z master 3f58de4eab) +JIT [x86_64-linux]
last_commit=Check mjit_call_p only when interrupted
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    84.50647332260259     85.85057800433144 fps
                            91.17796644338372     92.09930605656054
                            91.29346683444497     93.01336611323687
                            91.50322318568884     93.07234029037433
                            91.66560903214686     93.22773241529644
                            91.82315142636172     93.37032901061119
                            92.15066379608260     93.83701526141679
                            92.37897097456643     93.86032792681507
                            92.53049815524908     93.91211970920320
                            92.78414507914283     94.09109196967890
                            92.90299756525958     94.40107239595325
                            93.70279428858790     95.01326369371263
2020-12-19 21:38:14 -08:00
Marc-Andre Lafortune b1b6dbfdc3 `assert_ractor` tweak. Thanks Nobu 2020-12-19 22:37:27 -05:00
Marc-Andre Lafortune 70f20234b2 Add `assert_ractor` [Feature #17367] 2020-12-19 17:13:08 -05:00
Takashi Kokubun 5611066e03
Prefer RB_OBJ_FROZEN_RAW
following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    88.04551460097873     84.38303800957766 fps
                            88.25194345156318     85.31098251408059
                            88.34143982084871     86.60491582339496
                            88.63486879856976     88.23675694701865
                            88.85392212902701     88.23696283371444
                            89.05739427483194     88.97185459567562
                            89.08141031147311     90.16373192658857
                            89.11359420883423     90.61655686444394
                            89.80323392966130     90.77044959019291
                            90.58912189625207     90.88534596330966
                            90.59847996970350     91.34314801302897
                            90.61180456415137     93.11599164249547
```
2020-12-19 00:34:33 -08:00
Jeremy Evans 05313c914b Use category: :deprecated in warnings that are related to deprecation
Also document that both :deprecated and :experimental are supported
:category option values.

The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.

Comment a couple locations where deprecation warnings should probably
be used but are not currently used because deprecation warning
enablement has not occurred at the time they are called
(RUBY_FREE_MIN, RUBY_HEAP_MIN_SLOTS, -K).

Add assert_deprecated_warn to test assertions.  Use this to simplify
some tests, and fix failing tests after marking some warnings with
deprecated category.
2020-12-18 09:54:11 -08:00
Nobuyoshi Nakada 9908177857
test/ruby: Check warning messages at a finer granularity
Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods.
2020-12-17 20:06:18 +09:00
Hiroshi SHIBATA 44fba194a5
ruby/pathname separated .rb file to top-level directory. 2020-12-17 17:24:51 +09:00
Takashi Kokubun 5d74894f2b
Lazily move PC with RUBY_VM_CHECK_INTS
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-17T07:01:48Z master 843abb96f0) +JIT [x86_64-linux]
last_commit=Lazily move PC with RUBY_VM_CHECK_INTS
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    80.29343646660429     83.15779723251525 fps
                            82.26755637885149     85.50197941326810
                            83.50682959728820     88.14657804306270
                            85.01236533133049     88.78201988978667
                            87.81799334561326     88.94841008936447
                            87.88228562393064     89.37925215601926
                            88.06695585889995     89.86143277214475
                            88.84730834922165     90.00773346420887
                            90.46317871213088     90.82603371104014
                            90.96308347148916     91.29797694822179
                            90.97945938504556     91.31086331868738
                            91.57127890154500     91.49949184318844
```
2020-12-16 23:06:28 -08:00
Takashi Kokubun 3b4d698e0b
Ignore catch_except_p for PC motion
We probably don't need to move it when an insn is leaf...
2020-12-16 22:17:46 -08:00
Hiroshi SHIBATA 46ea74297e
Bump version to json-2.4.1 and use VERSION file for json version same as upstream 2020-12-17 14:20:42 +09:00
Takashi Kokubun 53babf35ef
Inline getconstant on JIT (#3906)
* Inline getconstant on JIT

* Support USE_MJIT=0
2020-12-16 06:24:07 -08:00
Takashi Kokubun 9d85ed6cbb
Simplify positioning of '{' and '}'
and fix inconsistent indentation in mjit_compile.inc.erb
2020-12-14 21:07:41 -08:00
Koichi Sasada aa6287cd26 fix inline method cache sync bug
`cd` is passed to method call functions to method invocation
functions, but `cd` can be manipulated by other ractors simultaneously
so it contains thread-safety issue.

To solve this issue, this patch stores `ci` and found `cc` to `calling`
and stops to pass `cd`.
2020-12-15 13:29:30 +09:00
Hiroshi SHIBATA 27520a1e1e
Fixed dst name for digest gem 2020-12-14 19:39:32 +09:00
Takashi Kokubun aacd2295d0
Debug the command used for gdb dump
It's not working
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3288206. I'm
debugging why.
2020-12-13 23:35:29 -08:00
Takashi Kokubun 246d7e4f1d
Dump a backtrace with gdb
Because Ruby often fails to dump a C backtrace.
2020-12-12 18:46:24 -08:00
Nobuyoshi Nakada 3b7c05ef8d
Fixed RUBY_RM_RECURSIVE when autoconf met the required version
Before 9189cf5793 the result of
`m4_version_compare` was compared to -1, however the `$2` of
`m4_version_prereq` has different meaning and is expanded when
the required version met.
2020-12-13 01:16:57 +09:00
Yusuke Endoh 248f1ef282 tool/mk_builtin_loader.rb: prevent "assigned but unused variable" 2020-12-12 23:09:11 +09:00
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
Aaron Patterson 0767d387ec
Pass ASAN options to child environments
I want to work with ASAN, but some child environments are not inheriting
the ASAN options I'm using.  This commit passes them to child
environments if specified
2020-09-28 09:45:04 -07:00
Nobuyoshi Nakada 996af2ce08 Disable deprecation warning by the default [Feature #16345]
And `-w` option turns it on.
2020-09-25 09:50:33 +09:00
Hiroshi SHIBATA ba889100d8
Bundle rbs gem as bundled gems (#3496)
* Added rbs as bundled gems
* Added the missing dependencies for rbs gem
2020-09-23 10:59:49 +09:00
Hiroshi SHIBATA 6dd257ed1e
Added sync task for bigdecimal 2020-09-18 18:47:52 +09:00
Hiroshi SHIBATA 3d86f7a37c
The executable file of erb is under the libexec on ruby/erb repo 2020-09-18 18:44:46 +09:00
Nobuyoshi Nakada 9fbbbadc96
Added just working Test::Unit::CoreAssertions#diff
This is not "diff", but show expected and actual results both,
just to get rid of `NoMethodError` when an assertion failed.
2020-09-14 18:19:40 +09:00
Hiroshi SHIBATA 6042b7433d
Promote time.rb to default gems 2020-09-12 08:29:06 +09:00
Hiroshi SHIBATA 01e0d74965
Promote resolv-replace to default gems 2020-09-11 22:01:08 +09:00
Hiroshi SHIBATA e0675b1c76
Promote resolv to default gems 2020-09-11 21:50:07 +09:00
Hiroshi SHIBATA d1851ba5b9
Promote securerandom to default gems 2020-09-11 21:15:25 +09:00
Hiroshi SHIBATA 2f24818319
Promote open-uri to default gems 2020-09-11 20:38:18 +09:00
Nobuyoshi Nakada 0d78390bfb
rbinstall.rb: OpenStruct has not been needed for years
Since 6f3e8df133 in 2014.
2020-09-11 13:26:20 +09:00
Hiroshi SHIBATA 867204c4a5
Promote syslog to default gems 2020-09-10 20:42:53 +09:00
Hiroshi SHIBATA cf76a4a5c2
Promote base64 to default gems 2020-09-10 18:56:17 +09:00
Hiroshi SHIBATA cf681038d6
Promote shellwords to default gems 2020-09-10 18:56:17 +09:00
Hiroshi SHIBATA cee8e95761
Promote abbrev to default gems 2020-09-10 18:56:16 +09:00
Hiroshi SHIBATA 01828a955a
Promote tsort to default gems 2020-09-09 21:53:09 +09:00
Hiroshi SHIBATA b194973dcd
Revert the related commits about `Tempfile.open` change.
Start with fa21985a7a
  to d7492a0be8
2020-09-09 21:10:48 +09:00
Nobuyoshi Nakada dd83d0c599
update-deps: ruby-runner is not a target 2020-09-05 23:16:23 +09:00
Koichi Sasada 79df14c04b Introduce Ractor mechanism for parallel execution
This commit introduces Ractor mechanism to run Ruby program in
parallel. See doc/ractor.md for more details about Ractor.
See ticket [Feature #17100] to see the implementation details
and discussions.

[Feature #17100]

This commit does not complete the implementation. You can find
many bugs on using Ractor. Also the specification will be changed
so that this feature is experimental. You will see a warning when
you make the first Ractor with `Ractor.new`.

I hope this feature can help programmers from thread-safety issues.
2020-09-03 21:11:06 +09:00
Alan Wu 4c3f0597de Remove the pc argument of vm_trace()
This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.
2020-09-01 22:02:29 -04:00
David Rodríguez 6b43200948 Fix syncing bundler man pages
`rm_rf` does not support globbing, so not all files get deleted.
2020-09-01 21:18:15 +09:00
Benoit Daloze e8c3872555 Simplify Tempfile.open calls with a block as they now unlink the file automatically 2020-08-29 12:23:23 +02:00
Benoit Daloze 232d6c4077 Use a constant instead of a global variable in sync_default_gems.rb 2020-08-29 11:51:05 +02:00
Hiroshi SHIBATA 2e3a7f70ae
Promote nkf to default gems 2020-08-25 21:17:19 +09:00
Hiroshi SHIBATA 8c97883b73
Promote erb to default gems 2020-08-21 20:18:44 +09:00
Hiroshi SHIBATA bc374e5cea
Promote rinda to default gems 2020-08-21 18:10:03 +09:00
Hiroshi SHIBATA dfda2f739b
Promote find to default gems 2020-08-20 21:00:53 +09:00
Hiroshi SHIBATA 8a40e9b5a2
Promote set to default gems 2020-08-20 12:39:11 +09:00
Nobuyoshi Nakada 7806b2e28b
Use colorize.rb for non-capable terminals 2020-08-11 18:35:08 +09:00
Nobuyoshi Nakada 2e7fe3b687
Add default color for each instance 2020-08-11 18:35:07 +09:00
卜部昌平 acd8ee8dbc tool/prelude.c.tmpl: use RubyVM::CEscape
Do not repeat yourself.
2020-08-11 16:51:07 +09:00
卜部昌平 b0eb5aa344 RubyVM::CEscape#rstring2cstr: do not escape '
A single quote "is representable either by itself or by the escape
sequence", according to ISO/IEC 9899 (checked all versions).  So this is
not a bug fix.  But the generated output is a bit readable without
backslashes.
2020-08-11 16:51:07 +09:00
Hiroshi SHIBATA 8f71bb0e4f
Fixed the inconsistency gemspec location with net-* gems. 2020-08-05 20:01:03 +09:00
Hiroshi SHIBATA 2346e2f0db
Followed up b2d96abb42 for net-ftp. 2020-08-03 17:40:05 +09:00
Hiroshi SHIBATA 2bd1f827f1
Promote io-nonblock to the default gems. 2020-07-30 21:21:08 +09:00
Hiroshi SHIBATA d75b42a70a
Promote io-wait to the default gems 2020-07-30 21:10:28 +09:00
Nobuyoshi Nakada f79dc8741f
rbinstall.rb: fix generated script name to set mode 2020-07-29 23:02:33 +09:00
Nobuyoshi Nakada f0affcdbf6
rbinstall.rb: fix dry-run mode 2020-07-29 22:47:00 +09:00
Kazuhiro NISHIYAMA 946cd6c534
Use https instead of http 2020-07-28 19:51:54 +09:00
Vít Ondruch db0eab1c6f Remove `EnvUtil.rubyexec`, because it is not used anywhere. 2020-07-28 12:11:47 +09:00
Hiroshi SHIBATA 7befc0cdfc
Promote optparse to default gems 2020-07-22 18:38:51 +09:00
卜部昌平 1fb4e28002 skip inlining cexpr! that are not attr! inline
Requested by ko1.
2020-07-16 11:49:09 +09:00
Nobuyoshi Nakada 9f4b7fc82e
Check warning flags only if available to run with old versions 2020-07-15 23:33:24 +09:00
卜部昌平 8d3a084572 _mjit_compile_invokebuiltin: sp_inc can be negative
Was my bad to assume sp_inc was positive.  Real criteria is the
calculated sp is non-negative.  We have to assert that.
2020-07-14 13:15:06 +09:00
卜部昌平 927fe2422f mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable
Stacks are emulated in MJIT, must not touch the original VM stack.

See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353
2020-07-13 12:30:43 +09:00
卜部昌平 7e536b3be2 builtin.h: avoid copy&paste
Instead of doubling the invokebuiltin logic here and there, use the same
insns.def definition for both MJIT/non-JIT situations.
2020-07-13 08:56:18 +09:00
卜部昌平 4506f6119a %p is not portable accross platforms
This commit fixes compiler error on MSVC.  %p on that platform is not
suitable to represent a compile-time constant.

https://ci.appveyor.com/project/ruby/ruby/builds/34017163/job/vj2a8uk3gwv9yxak#L24381
2020-07-13 08:56:18 +09:00
卜部昌平 2363a16e9a add comments 2020-07-13 08:56:18 +09:00
卜部昌平 5783d84a17 fix typo 2020-07-13 08:56:18 +09:00
卜部昌平 9721f477c7 inline Primitive.cexpr!
We can obtain the verbatim source code of Primitive.cexpr!.  Why not
paste that content into the JITed program.
2020-07-13 08:56:18 +09:00