Nobuyoshi Nakada
a72529182d
Suppress unused-function [ci skip]
2022-05-19 16:46:08 +09:00
Hiroshi SHIBATA
ee3b61a44f
Removed subversion section because there is no active branch for svn.
2022-05-19 15:48:28 +09:00
git
13c60e6568
* 2022-05-19 [ci skip]
2022-05-19 07:19:57 +09:00
Benoit Daloze
75fcfb1416
[ruby/timeout] Remove redundant done? check
...
* It's already checked inside #interrupt.
https://github.com/ruby/timeout/commit/5f43254f81
2022-05-19 07:19:42 +09:00
Benoit Daloze
240ac9eaa8
[ruby/timeout] Synchronize all accesses to @done
...
* So it is trivially correct.
* Performance seems the same overall.
https://github.com/ruby/timeout/commit/5e0d8e1637
2022-05-19 07:19:41 +09:00
Benoit Daloze
354cd6f210
[ruby/timeout] Handle Timeout + fork and add test for it
...
https://github.com/ruby/timeout/commit/4baee63b9b
2022-05-19 07:19:40 +09:00
Benoit Daloze
89fbec224d
[ruby/timeout] Reimplement Timeout.timeout with a single thread and a Queue
...
https://github.com/ruby/timeout/commit/2bafc458f1
2022-05-19 07:19:39 +09:00
Nobuyoshi Nakada
97c12c5f69
Clean intermediate object files
2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
9a0f5a8edc
Verbose mode on libyjit merge
2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
9b3ed5a23f
Extract YJIT_LIBS directly without copying
2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
3db8db8a32
`AR` does not need the absolute path
...
Still use `find` to get rid of potential ARGV limit overflow, since
rustc-genrated object file names are mangled and very long.
2022-05-18 14:33:00 +09:00
Kaíque Kandy Koga
c478a3c0a9
[DOC] Use `make gdb-ruby` and `make lldb-ruby` in doc/contributing/building_ruby.md
2022-05-18 11:32:13 +09:00
Kaíque Kandy Koga
aab683af0e
Write skipping instead of skiping [ci skip]
...
https://www.lexico.com/en/definition/skip
2022-05-18 11:28:36 +09:00
git
093c516ce5
Update default gems list at 6b6d7df39d
[ci skip]
2022-05-18 01:04:36 +00:00
Hiroshi SHIBATA
6b6d7df39d
[ruby/psych] Prepare to develop 5.0.0
...
https://github.com/ruby/psych/commit/c3b5183f42
2022-05-18 10:03:48 +09:00
MSP-Greg
3ec066334c
[ruby/psych] [CI] Add/update 'rake install', update Psych version for Ruby 3.1 gem install
...
https://github.com/ruby/psych/commit/2fa5e190b5
2022-05-18 10:03:47 +09:00
git
e2bad65eab
* 2022-05-18 [ci skip]
2022-05-18 07:12:44 +09:00
Kouhei Yanagita
e658da9408
[ruby/irb] Fix documents for .irbrc path
...
https://github.com/ruby/irb/commit/af99c01b0d
2022-05-18 07:12:29 +09:00
Samuel Williams
11af23ee92
Move feature deletion from GC mark to `autoload_delete`. ( #5912 )
2022-05-17 23:44:14 +12:00
Samuel Williams
60d45b2ee8
Restore implicit relationship between `autoload_const` and `autoload_data` during GC. ( #5911 )
2022-05-17 19:12:36 +12:00
Nobuyoshi Nakada
8a907da0f6
Suppress an unused-but-set-variable warning [ci skip]
2022-05-17 13:55:56 +09:00
git
1f537dc62d
* 2022-05-17 [ci skip]
2022-05-17 12:15:01 +09:00
Nobuyoshi Nakada
2411f0ad8c
Set `target_os` for a7577dbfd3
2022-05-17 12:14:32 +09:00
Kazuhiro NISHIYAMA
f2dc972940
[ruby/set] Fix a typo
...
https://github.com/ruby/set/commit/71a876ae81
2022-05-16 23:43:04 +09:00
Samuel Williams
f626998c4f
Delete autoload data from global features after autoload has completed. ( #5910 )
...
* Update naming of critical section assertions macros.
* Improved locking for autoload.
2022-05-17 00:50:02 +12:00
Nobuyoshi Nakada
a7577dbfd3
`annobin` works only when targeting Fedora
...
And hopefully for other Linux. Since it is not run on the build os,
`TEST_RUNNABLE` is not suitable for this case.
2022-05-16 19:27:37 +09:00
David Rodríguez
641c3830df
[rubygems/rubygems] Use `Array#concat` in `SpecSet#for` to save memory
...
On `rails/rails` repository Gemfile, running the following script
```
# script.rb
require "bundler/setup"
```
#### Before
```
➜ rails git:(main) ✗ BUNDLER_VERSION=2.4.0.dev ruby-memory-profiler --pretty --no-detailed --allocated-strings=0 --retained-strings=0 script.rb
Total allocated: 24.37 MB (207937 objects)
Total retained: 2.98 MB (34152 objects)
```
#### After
```
➜ rails git:(main) ✗ BUNDLER_VERSION=2.4.0.dev ruby-memory-profiler --pretty --no-detailed --allocated-strings=0 --retained-strings=0 script.rb
Total allocated: 22.27 MB (206856 objects)
Total retained: 2.98 MB (34152 objects)
```
https://github.com/rubygems/rubygems/commit/2ea2523afd
Co-authored-by: Josh Nichols <josh.nichols@gusto.com>
2022-05-16 17:24:14 +09:00
David Rodríguez
c380aac19d
[rubygems/rubygems] Improve `bundler/setup` performance again
...
On a different patch, it was noticed Ngam Pham that we are calling
`LazySpecification#hash` many times, and simply memoizing that led to a
very considerable performance improvement in his app.
I noticed though that we shouldn't be calling `LazySpecification#hash`
that many times, and I located the culprit at `SpecSet#for` where we
were deduplicating the partial aggregated result on every iteration. It
is enough to do it just once at the end.
This leads on a 12% speedup on Rails repository Gemfile vs the previous
8% I was getting from memoizing `LazySpecification#hash`. Also, after
this patch memoizing `LazySpecification#hash` has no effect in
performance anymore.
https://github.com/rubygems/rubygems/commit/68d00a9edd
Co-authored-by: Ngan Pham <ngan@users.noreply.github.com>
2022-05-16 17:24:14 +09:00
Jun Aruga
dccfff943c
Add `make test-annocheck` to detect security issues.
...
* Note that as the annocheck binary package is not available on Ubuntu, and it
is working in progress in Debian, the script uses Fedora container, and
it requires docker or podman command.
https://www.debian.org/devel/wnpp/itp.en.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926470
* .github/workflows/compilers.yml: Add "gcc-11 annocheck" case.
To pass the CI, set `TEST_ANNOCHECK_OPTS: "--skip-pie --skip-notes"` for now.
See <https://bugs.ruby-lang.org/issues/18061 >.
* Skip MJIT tests in case of annocheck case.
The MJIT tests fail in the annocheck case.
See <https://bugs.ruby-lang.org/issues/18781 >.
2022-05-16 10:10:16 +02:00
git
36efb2a146
* 2022-05-16 [ci skip]
2022-05-16 12:24:26 +09:00
Nobuyoshi Nakada
774b9e27ae
[ruby/racc] [DOC] Remove stale `Object::ParseError` documentation
...
https://github.com/ruby/racc/commit/4ecc13c9cb
2022-05-16 12:24:10 +09:00
git
105609d382
* 2022-05-15 [ci skip]
2022-05-15 13:07:36 +09:00
Samuel Williams
32de6097b2
Fix various autoload race conditions. ( #5898 )
...
* Add RUBY_VM_CRITICAL_SECTION for detecting unexpected context switch.
* Prevent race between GC mark and autoload setup.
* Protect race on autoload state.
* Avoid potential race condition when allocating `autoload_featuremap`.
* Add NEWS entry for autoload fixes.
2022-05-15 16:07:12 +12:00
Burdette Lamar
48002ff187
[ruby/fileutils] [DOC] Enhanced RDoc for #ln ( https://github.com/ruby/fileutils/pull/69 )
...
Enhanced RDoc for #ln
https://github.com/ruby/fileutils/commit/79fc67f03f
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-14 22:38:22 +09:00
Matt Valentine-House
708e839dee
Fix compiler warning when USE_RVARGC=0
2022-05-13 16:26:41 -04:00
git
51fab06017
* 2022-05-14 [ci skip]
2022-05-14 05:02:30 +09:00
Burdette Lamar
9639dc91d9
[ruby/logger] [DOC] Enhanced RDoc for Logger ( https://github.com/ruby/logger/pull/77 )
...
Enhanced RDoc for Logger
https://github.com/ruby/logger/commit/c601ed0370
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-14 05:02:18 +09:00
Peter Zhu
09c72f41ce
Print function name in backtrace when available
...
If we don't have `saddr` but have `sname` we should output `sname`.
2022-05-13 10:47:50 -04:00
Burdette Lamar
55ba414405
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/a5a2f2da4a
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13 22:52:59 +09:00
Burdette Lamar
1f1283b927
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/e6f2c64fc6
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13 22:52:58 +09:00
Burdette Lamar
45a92cc4fe
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/3dc5a8d7a4
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13 22:52:57 +09:00
Burdette Lamar
00635f8d41
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/98919e09e5
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13 22:52:56 +09:00
Burdette Lamar
2427a11b35
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/073a892ad9
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13 22:52:55 +09:00
Burdette Lamar
b9311e646e
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/6d91281f7f
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13 22:52:55 +09:00
Burdette Lamar
e36a794f1a
[ruby/logger] Update lib/logger.rb
...
https://github.com/ruby/logger/commit/34c0ba8baa
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13 22:52:54 +09:00
BurdetteLamar
90d8b7219e
[ruby/logger] Enhanced RDoc for Logger
...
https://github.com/ruby/logger/commit/16556d06d1
2022-05-13 22:52:53 +09:00
David Rodríguez
4c9ddaac0d
[rubygems/rubygems] Fix `Gemfile.lock` versions leaking to `bundler/inline` install output
...
The lockfile is completely ignored in inline mode, yet the previous
output would suggest it wasn't.
https://github.com/rubygems/rubygems/commit/763125a745
2022-05-13 15:23:56 +09:00
David Rodríguez
4962e5c417
[rubygems/rubygems] Normalize parameter name
...
The other sources use `options` which reads better.
https://github.com/rubygems/rubygems/commit/a672f9d602
2022-05-13 15:23:56 +09:00
Kazuhiro NISHIYAMA
2d1032075a
Stop `build_extensions` when DESTDIR set
...
Try to fix `make install without root privilege` failures on snapshot CIs.
example: https://github.com/ruby/actions/actions/runs/2315349280
2022-05-13 08:44:17 +09:00
Aaron Patterson
ebaf56c013
YJIT: Implement getblockparam
...
This implements the getblockparam instruction.
There are two cases we need to handle depending on whether or not
VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM is set in the environment flag.
When the modified flag is unset, we need to call rb_vm_bh_to_procval to
get a proc from our passed block, save the proc in the environment, and
set the modified flag.
In the case that the modified flag is set we are able to just use the
existing proc in the environment.
One quirk of this is that we need to call jit_prepare_routine_call early
and ensure we update PC and SP regardless of the branch taken, so that
we have a consistent SP offset at the start of the next instruction.
We considered using a chain guard to generate these two paths
separately, but decided against it because it's very common to see both
and the modified case is basically a subset of the instructions in the
unmodified case.
This includes tests for both getblockparam and getblockparamproxy which
was previously missing a test.
2022-05-12 14:34:18 -07:00