Commit graph

67695 commits

Author SHA1 Message Date
S.H
b70fdf1b55
Refactor rb_define_class_variable function (#4400) 2021-06-01 00:38:50 -07:00
S.H
588446c39c
Remove unneeded rb_ary_ptr_use_start defination in internal/array.h (#4427) 2021-06-01 00:37:45 -07:00
S.H
45662c54c9
Remove unneeded rb_str_initialize defination in internal/string.h (#4465) 2021-06-01 00:37:24 -07:00
S.H
a2cf0607b0
Refactor rb_class_path_cached function (#4485) 2021-06-01 00:34:56 -07:00
S.H
1055b37ef5
Refactor rb_define_class_variable function (#4492) 2021-06-01 00:32:24 -07:00
Takashi Kokubun
e1b03b0c2b
Enable VM_ASSERT in --jit CIs (#4543) 2021-06-01 00:15:51 -07:00
Takashi Kokubun
0d32a18f5b
Make --without-mjit-tabs work again
vm_sync.{c,h} don't have tabs
2021-05-31 22:56:22 -07:00
Takashi Kokubun
b9019c1ae8
Revert "Try enabling VM_ASSERT in --jit CIs"
This reverts commit e9e3b65d83.

We were not ready for it
2715306375
2021-05-31 22:46:56 -07:00
Takashi Kokubun
028f1887c2
Change the default --jit-max-cache to 10000
This is useful for large applications like Rails.
https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a
2021-05-31 22:01:04 -07:00
Takashi Kokubun
2209e152c0
Decompose the captured_cc code for investigation
I'm investigating SEGVs like 2715166621.
Because a lot of things are going on on this line, it's hard to identify
the cause, especially because we can't get the core file of the failures.

Therefore I intentionally increased the number of lines for
investigation.
2021-05-31 21:57:57 -07:00
Takashi Kokubun
e9e3b65d83
Try enabling VM_ASSERT in --jit CIs 2021-05-31 21:50:55 -07:00
git
45651e800b * 2021-06-01 [ci skip] 2021-06-01 13:14:56 +09:00
Takashi Kokubun
07c05b6fe9
Drop JIT_ISEQ_SIZE_THRESHOLD
Compiling everything seems to contributed to improving the final
performance in general. MJIT's compilation is slow anyway, especially
when you need to wait for JIT compaction.

This might make sense for short-time benchmarks like Optcarrot with
default parameters, but it didn't give benefits in my local environment.
2021-05-31 21:12:48 -07:00
aycabta
c9ab8fe2b1 The test for command injection on Unix platforms should be omitted on Windows 2021-05-31 23:34:40 +09:00
Jun Aruga
ff6f4e631c tool/ci_functions.sh: Fix typos and improve the comment. [ci skip] 2021-05-31 16:24:16 +02:00
David Rodríguez
3954799071 Tweak skipped files in bundler gemspec
We won't be using the `extra_rdoc_files` field, because it's very slow
for markdown files.
2021-05-31 21:26:24 +09:00
Hiroshi SHIBATA
cd2190448d
[ruby/net-protocol] Bump version to 0.1.1
97c4b68528
2021-05-31 17:40:07 +09:00
Takashi Kokubun
1aac0e8819
Mark inlined ISeqs during MJIT compilation (#4539)
[Bug #17584]
2021-05-30 21:42:02 -07:00
git
2cc3639ebf * 2021-05-31 [ci skip] 2021-05-31 09:26:04 +09:00
Kazuhiro NISHIYAMA
43ac55ad24
Update bundled_gems 2021-05-31 09:25:29 +09:00
Jeremy Evans
fd65ef2a5a Attempt to fix floating point test failure
The previous behavior depending on exact float values, it seemed
to work OK on amd64 and i386, but other CI platforms are
experiencing non-deterministic test failures with it. Relax test
slightly to hopefully pass on such platforms.
2021-05-29 14:08:24 -07:00
git
9bb76201dd * 2021-05-30 [ci skip] 2021-05-30 00:56:38 +09:00
Jeremy Evans
f516379853 Fix Enumerator::ArithmeticSequence handling of float ranges
Depending on the float range, there could be an off-by-one error,
where the last result that should be in the range was missed. Fix
this by checking if the computed value for the expected value
outside the range is still inside the range, and if so, increment
the step size.

Fixes [Bug #16612]
2021-05-29 08:56:15 -07:00
git
e56ba6231f * 2021-05-29 [ci skip] 2021-05-29 01:34:27 +09:00
Alan Wu
5ada23ac12 compile.c: Emit send for === calls in when statements
The checkmatch instruction with VM_CHECKMATCH_TYPE_CASE calls
=== without a call cache. Emit a send instruction to make the call
instead. It includes a call cache.

The call cache improves throughput of using when statements to check the
class of a given object. This is useful for say, JSON serialization.

Use of a regular send instead of checkmatch also avoids taking the VM
lock every time, which is good for multi-ractor workloads.

    Calculating -------------------------------------
                             master        post
         vm_case_classes    11.013M     16.172M i/s -      6.000M times in 0.544795s 0.371009s
             vm_case_lit      2.296       2.263 i/s -       1.000 times in 0.435606s 0.441826s
                 vm_case    74.098M     64.338M i/s -      6.000M times in 0.080974s 0.093257s

    Comparison:
                      vm_case_classes
                    post:  16172114.4 i/s
                  master:  11013316.9 i/s - 1.47x  slower

                          vm_case_lit
                  master:         2.3 i/s
                    post:         2.3 i/s - 1.01x  slower

                              vm_case
                  master:  74097858.6 i/s
                    post:  64338333.9 i/s - 1.15x  slower

The vm_case benchmark is a bit slower post patch, possibily due to the
larger instruction sequence. The benchmark dispatches using
opt_case_dispatch so was not running checkmatch and does not make the
=== call post patch.
2021-05-28 12:34:03 -04:00
Alan Wu
788d30a8b3 Make range literal peephole optimization target "newrange"
It looks for "checkmatch", when it could be applied to anything that has
"newrange".

Making the optimization target more ranges might only be fair play when
all ranges are frozen. So I'm putting a reference to the ticket that
froze all ranges.

[Feature #15504]
2021-05-28 12:34:03 -04:00
Hiroshi SHIBATA
12214b7814
Resolve to missing Gem::TestCase issue with random order tests 2021-05-28 14:01:58 +09:00
Hiroshi SHIBATA
6e6be107dd
Ignore test-bundled-gems on GitHub Actions because matrix tests has unknown issues 2021-05-28 13:02:04 +09:00
Hiroshi SHIBATA
e487ba7dda
[rubygems/rubygems] Use pend instead of skip 2021-05-28 12:33:16 +09:00
David Rodríguez
a634ef5376 [rubygems/rubygems] Fix "instance variable not initialized" warning
This variable had a typo (it's `@gemhome`), but the test is still
passing, so I assume it's not needed.

3b88642bdb
2021-05-28 11:53:57 +09:00
David Rodríguez
1f505000e6 [rubygems/rubygems] Test installing a non deprecated file
a678959eda
2021-05-28 11:53:45 +09:00
David Rodríguez
9382bda78b [rubygems/rubygems] Remove no longer needed RUBYGEMS_TEST_PATH env variable
0efb894c3b
2021-05-28 11:53:33 +09:00
David Rodríguez
4fb3dd2c42 [rubygems/rubygems] Remove no longer relevant commentsº
8dfe1e30b5
2021-05-28 11:53:21 +09:00
David Rodríguez
f7732ae2eb [rubygems/rubygems] Require the new files in test/ relatively
c77868a555
2021-05-28 11:53:09 +09:00
David Rodríguez
59c6820971 [rubygems/rubygems] Copy files specific to testing rubygems to test
aa390a3500
2021-05-28 11:52:57 +09:00
Hiroshi SHIBATA
f7d661e783
[rubygems/rubygems] Try fix ruby-core CI
* Port
8e91b969df
from ruby-core, and make it compatible with psych 3 & 4.
2021-05-28 11:52:32 +09:00
Hiroshi SHIBATA
ded7dd9ccc
Use require_relative to use Minitest library for testing.
There is no reason to care for minitest gem.
2021-05-28 11:38:37 +09:00
git
2ad7a550f3 * 2021-05-28 [ci skip] 2021-05-28 06:17:54 +09:00
Jeremy Evans
fd8991f797 Fix lazy enumerator with index size
Fixes [Bug #17889]
2021-05-27 14:17:32 -07:00
Hiroshi SHIBATA
029169bc5b
Fixed target directory when copying from upstream 2021-05-27 17:15:58 +09:00
Hiroshi SHIBATA
c1c60a4498
Removed dbm from sync_default_gems 2021-05-27 17:14:31 +09:00
Hiroshi SHIBATA
d2664b908a Update rbs-1.2.1 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
835a495608 Guard ruby/spec with spec/mspec/tool/wrap_with_guard.rb 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
350bc29107 Guard for the ftp protocol feature of OpenURI 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
b8dcad8d32 Defer to require prime for OpenSSL::TestBN 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
9f192d42a6 Use https://github.com/ruby/rbs/pull/679 for rbs tests on test-bundled-gems 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
be2e2b4805 Promote net-smtp to the bundled gems 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
aa9726f7b9 Promote net-pop to the bundled gems 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
d5bc6b2337 Promote net-imap to the bundled gems 2021-05-27 14:42:11 +09:00
Hiroshi SHIBATA
e49c998d1e Promote net-ftp to the bundled gems 2021-05-27 14:42:11 +09:00