summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-18Update default gems list at 6b6d7df39db2447dd675b2558aab69 [ci skip]git
2022-05-18[ruby/psych] Prepare to develop 5.0.0Hiroshi SHIBATA
https://github.com/ruby/psych/commit/c3b5183f42
2022-05-18[ruby/psych] [CI] Add/update 'rake install', update Psych version for Ruby ↵MSP-Greg
3.1 gem install https://github.com/ruby/psych/commit/2fa5e190b5
2022-05-18* 2022-05-18 [ci skip]git
2022-05-18[ruby/irb] Fix documents for .irbrc pathKouhei Yanagita
https://github.com/ruby/irb/commit/af99c01b0d
2022-05-17Move feature deletion from GC mark to `autoload_delete`. (#5912)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-17Restore implicit relationship between `autoload_const` and `autoload_data` ↵Samuel Williams
during GC. (#5911) Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-17Suppress an unused-but-set-variable warning [ci skip]Nobuyoshi Nakada
2022-05-17* 2022-05-17 [ci skip]git
2022-05-17Set `target_os` for a7577dbfd3ea53cccf7aaf94208069784ad17791Nobuyoshi Nakada
2022-05-16[ruby/set] Fix a typoKazuhiro NISHIYAMA
https://github.com/ruby/set/commit/71a876ae81
2022-05-17Delete autoload data from global features after autoload has completed. (#5910)Samuel Williams
* Update naming of critical section assertions macros. * Improved locking for autoload. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-16`annobin` works only when targeting FedoraNobuyoshi Nakada
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[rubygems/rubygems] Use `Array#concat` in `SpecSet#for` to save memoryDavid Rodríguez
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[rubygems/rubygems] Improve `bundler/setup` performance againDavid Rodríguez
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-16Add `make test-annocheck` to detect security issues.Jun Aruga
* 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>. Notes: Merged: https://github.com/ruby/ruby/pull/5900
2022-05-16* 2022-05-16 [ci skip]git
2022-05-16[ruby/racc] [DOC] Remove stale `Object::ParseError` documentationNobuyoshi Nakada
https://github.com/ruby/racc/commit/4ecc13c9cb
2022-05-15* 2022-05-15 [ci skip]git
2022-05-15Fix various autoload race conditions. (#5898)Samuel Williams
* 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. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-14[ruby/fileutils] [DOC] Enhanced RDoc for #ln ↵Burdette Lamar
(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-13Fix compiler warning when USE_RVARGC=0Matt Valentine-House
Notes: Merged: https://github.com/ruby/ruby/pull/5909
2022-05-14* 2022-05-14 [ci skip]git
2022-05-14[ruby/logger] [DOC] Enhanced RDoc for Logger ↵Burdette Lamar
(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-13Print function name in backtrace when availablePeter Zhu
If we don't have `saddr` but have `sname` we should output `sname`. Notes: Merged: https://github.com/ruby/ruby/pull/5906
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/a5a2f2da4a Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/e6f2c64fc6 Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/3dc5a8d7a4 Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/98919e09e5 Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/073a892ad9 Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/6d91281f7f Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13[ruby/logger] Update lib/logger.rbBurdette Lamar
https://github.com/ruby/logger/commit/34c0ba8baa Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-05-13[ruby/logger] Enhanced RDoc for LoggerBurdetteLamar
https://github.com/ruby/logger/commit/16556d06d1
2022-05-13[rubygems/rubygems] Fix `Gemfile.lock` versions leaking to `bundler/inline` ↵David Rodríguez
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[rubygems/rubygems] Normalize parameter nameDavid Rodríguez
The other sources use `options` which reads better. https://github.com/rubygems/rubygems/commit/a672f9d602
2022-05-13Stop `build_extensions` when DESTDIR setKazuhiro NISHIYAMA
Try to fix `make install without root privilege` failures on snapshot CIs. example: https://github.com/ruby/actions/actions/runs/2315349280
2022-05-12YJIT: Implement getblockparamAaron Patterson
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. Notes: Merged: https://github.com/ruby/ruby/pull/5881
2022-05-13* remove trailing spaces. [ci skip]git
2022-05-12Add documentation section to READMEStan Lo
Notes: Merged: https://github.com/ruby/ruby/pull/5904
2022-05-13* 2022-05-13 [ci skip]git
2022-05-12YJIT: Fix getting the EP with registers other than RAX (#5882)Aaron Patterson
Before this commit we were accidentally clobbering RAX. Additionally, since this function had RAX hardcoded then the function may not have worked with registers other than RAX. Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged-By: jhawthorn <john@hawthorn.email>
2022-05-12.github/workflows/compilers.yml: Add configure --enable-mkmf-verbose case.Jun Aruga
Notes: Merged: https://github.com/ruby/ruby/pull/5879
2022-05-12mkmf: Add a configure option to set verbose mode (V=1 or 0) in mkmf.rb.Jun Aruga
Note this change is only for `configure.ac`, not for Windows using `win32/configure.bat`. ``` $ ./configure --help | grep mkmf --enable-mkmf-verbose enable verbose in mkmf ``` Run the following command to enable the mkmf verbose mode. ``` $ ./configure --enable-mkmf-verbose $ grep MKMF_VERBOSE config.status S["MKMF_VERBOSE"]="1" ``` In this mkmf verbose mode, when compiling a native extension, the `rake compile` prints the compiling commands such as "gcc -I. <...> path/to/file" instead of "compiling path/to/file". ``` $ git clone https://github.com/deivid-rodriguez/byebug.git $ cd byebug $ bundle install --standalone $ bundle exec rake compile ... gcc -I. <...> path/to/file ... ``` Notes: Merged: https://github.com/ruby/ruby/pull/5879
2022-05-12[ruby/uri] Improve URI.register_scheme tests and automatically upcase the ↵Benoit Daloze
given scheme * Also add docs and mention current limitations. * For reference, https://stackoverflow.com/a/3641782/388803 mentions the valid characters in schemes. https://github.com/ruby/uri/commit/4346daac75
2022-05-12[ruby/uri] Add URI::Generic#decoded_#{user,password}Jeremy Evans
URI::Generic#{user,password} return the encoded values, which are not that useful if you want to do authentication with them. Automatic decoding by default would break backwards compatibility. Optional automatic decoding via a keyword to URI.parse would require threading the option through at least 3 other methods, and would make semantics confusing (user= takes encoded or unencoded password?) or require more work. Thus, adding this as a separate method seemed the simplest approach. Unfortunately, URI lacks a method for correct decoding. Unlike in www form components, + in earlier parts of the URI such as the userinfo section is treated verbatim and not as an encoded space. Add URI.#{en,de}code_uri_component methods, which are almost the same as URI.#{en,de}code_www_form_component, but without the special SP => + handling. Implements [Feature #9045] https://github.com/ruby/uri/commit/16cfc4e92f
2022-05-12[ruby/uri] Update file.rbFrank Schmitt
The module here is called `URI`, so it's probably reasonable to expect a requirement for the path to be RFC3986-compliant, but on the other hand, the class is called `File`, so it might be reasonable to expect that a path produced by e.g. the `File` class would be consumable by its `build` method (this fails if the filename contains e.g. a space). https://github.com/ruby/uri/commit/ef79789b83
2022-05-12Quick markup fixAlexey Mostovoy
Notes: Merged: https://github.com/ruby/ruby/pull/5902
2022-05-12Write Thread instead of ThreadeKaíque Kandy Koga
Notes: Merged: https://github.com/ruby/ruby/pull/5903
2022-05-11Add a separate doc for contributing to stdlibs [ci skip]Stan Lo
co-authored-by: Peter Zhu <peter@peterzhu.ca> Notes: Merged: https://github.com/ruby/ruby/pull/5901
2022-05-12[ruby/fileutils] Update lib/fileutils.rbBurdette Lamar
https://github.com/ruby/fileutils/commit/4771925fee Co-authored-by: Peter Zhu <peter@peterzhu.ca>