| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
https://github.com/rubygems/rubygems/commit/9f15b595ab
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/08374d0e4a
|
|
|
|
|
| |
* match uppercase types which would be global, other than [BDT]
* ignore `RUBY_` prefixed symbols
|
|
|
|
|
| |
Run lldb just before sending ABRT or KILL signal. Some tests
terminate child processes by TERM signal intentionally.
|
|
|
|
|
|
|
| |
Before sending signals (ABRT, KILL), use lldb to show the
backtrace of a stuck process.
This commit also reverts recent changes for terminate().
|
|
|
|
|
|
| |
After sending SEGV signal, but no response. Try to add 2 more
seconds. If we can not have a detailed log, we need to use
gdb/lldb to show the backtrace.
|
|
|
|
|
| |
send SEGV to terminate the remaining process before sending
ABRT and KILL to show the backtrace.
|
| |
|
| |
|
|
|
|
|
| |
BASERUBY now requires at least Ruby 2.2, so there is no point
trying to support older ruby versions here.
|
|
|
|
|
| |
Coverage measurement had failed since 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee
https://github.com/ruby/actions/runs/708557030?check_suite_focus=true
|
|
|
|
|
|
|
| |
These man pages are already in man format and assuming they are
mdoc format breaks things.
Fixes [Bug #16823]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and /dev/urandom intentionally. OpenSSL::PKey::RSA.new opens the two
random generators and keeps the file descriptors.
https://github.com/openssl/openssl/blob/93f99b681ab5a1cf7062053323e09b0cad5ff854/crypto/rand/rand_unix.c#L674
They are detected by the LeakChecker as fd leak, but it is intentional.
http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T160005Z.log.html.gz
```
[ 597/20199] DRbTests::TestDRbSSLAry#test_01 = 0.29 s
Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 8 #<File::Stat dev=0x6, ino=11, mode=020666, nlink=1, uid=0, gid=0, rdev=0x109, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.751999995 +0000, mtime=2020-05-23 14:45:13.751999995 +0000, ctime=2020-05-23 14:45:13.751999995 +0000>
Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 9 #<File::Stat dev=0x6, ino=10, mode=020666, nlink=1, uid=0, gid=0, rdev=0x108, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.755999995 +0000, mtime=2020-05-23 14:45:13.755999995 +0000, ctime=2020-05-23 14:45:13.755999995 +0000>
```
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by inlining only hot path.
=== mame/optcarrot ===
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all
before --jit: ruby 2.8.0dev (2020-05-18T05:21:31Z master 0e5a58b6bf) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-05-18T06:12:04Z master 0e3d71a8d1) +JIT [x86_64-linux]
last_commit=Reduce code size for rb_class_of
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 71.62880463568773 70.95730063273503 fps
71.73973684273152 71.98447841929851
75.03923801841310 75.54262519509039
75.16300287174957 77.64029272984344
75.16834828625935 78.67861469580785
75.17670723726911 78.81879353707393
75.67637908020630 79.18188850392886
76.19843953215396 79.66484891814478
77.28166716118808 79.80278072861037
77.38509903325165 80.05859292679696
78.12693418455953 80.34624804808006
78.73654441746730 80.66326571254345
79.25387513454415 80.69760605740196
79.44137881689524 81.32053489212245
79.50497657368358 81.50250852553751
79.62401328582868 82.27544931834611
79.79178811723664 82.67455264522741
81.20275352937418 82.93857260493297
81.57027048640776 83.15019118788184
81.63373188649095 83.20728816044721
81.93420437766426 83.25027576772972
82.05716136357167 83.27072145898173
82.21070805525066 83.36008265822194
82.56924063784872 83.36112268888493
=== benchmark-driver/sinatra ===
[rps]
before: 13143.49 rps
after: 13505.70 rps
[inlined rb_class_of size]
before: 11.5K
after: 3.8K
(calculated by `dwarftree --die inlined_subroutine --flat --merge --show-size`)
|
|
|
|
|
| |
Put some functions which are unlikely to be called on JIT in
.text.unlikely section to improve hot code's locality.
|
|
|
|
| |
Run tests in the order given in the command line.
|
|
|
|
| |
When multiple autoclose IO objects are leaked too.
|
|
|
|
|
| |
`cache_dir` is an optinal argument but not a keyword argument, and
the return value is a `Pathname`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As we have the optimization in _mjit_compile_ivar.erb, we don't use
these functions if we successfully optimize ivars. Therefore it's
consuming code size where we can't optimize it well.
To decrease code size, we'd better avoid inlining them.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=12 --output=all
before --jit: ruby 2.8.0dev (2020-05-13T04:49:21Z master 61d451d6ce) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-05-13T05:46:59Z master a072d323db) +JIT [x86_64-linux]
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 69.8567095356444 73.0360609399857 fps
70.3283101279035 74.6106251902062
72.9135395729567 75.2797344839106
76.6944690546044 77.5705757485036
77.0027971817715 78.2269524040059
78.5069033659736 78.4457471014131
80.1873218604913 80.1273811685818
81.3079566400696 81.7148593303302
81.7285827817226 81.7637234555871
81.7657097839637 82.4520295422720
81.8310114206406 82.7532354379759
81.9886488857863 82.8358739858206
```
|
| |
|
|
|
|
|
| |
Allow to create symbolic links (if available) to share same or
updated files.
|
|
|
|
| |
Reduce duplicate parts such as package name and version numbers.
|
|
|
|
| |
To generate what is necessary via generic_erb.rb instead.
|
|
|
|
| |
To generate what is necessary via generic_erb.rb instead.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Should not overwrite ext/rubyvm/lib/forwardable/impl.rb by
lib/forwardable/impl.rb.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Even if local stack optimization is not used and values are written to
VM stack, the stack pointer itself may not be moved properly. So this
should be always moved on JIT cancellation.
By the way it's hard to write a test for this because if we try to
generate an interrupt, it will be a method call and it consumes the
interrupt by itself on popping a frame.
|
| |
|
| |
|
|
|
|
|
| |
`getaddrinfo` on macOS seems keeping FDs to query host names
internally.
|
|
|
|
| |
It is more popular than /proc/self/fd.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I'm trying to make it possible to include all JIT-ed code in a single C
file. This is needed to guarantee uniqueness of all function names
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
As well as worker processes do in Test::Unit::Worker#run.
|