Commit graph

2101 commits

Author SHA1 Message Date
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.
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
1428320660 (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