AgeCommit message (Collapse)Author
14 hoursClean intermediate object filesHEADmasterNobuyoshi Nakada
Notes: Merged:
14 hoursVerbose mode on libyjit mergeNobuyoshi Nakada
Notes: Merged:
14 hoursExtract YJIT_LIBS directly without copyingNobuyoshi Nakada
Notes: Merged:
14 hours`AR` does not need the absolute pathNobuyoshi Nakada
Still use `find` to get rid of potential ARGV limit overflow, since rustc-genrated object file names are mangled and very long. Notes: Merged:
17 hours[DOC] Use `make gdb-ruby` and `make lldb-ruby` in ↵Kaíque Kandy Koga
doc/contributing/ Notes: Merged: Merged-By: nobu <>
18 hoursWrite skipping instead of skiping [ci skip]Kaíque Kandy Koga Notes: Merged: Merged-By: nobu <>
19 hoursUpdate default gems list at 6b6d7df39db2447dd675b2558aab69 [ci skip]git
19 hours[ruby/psych] Prepare to develop 5.0.0Hiroshi SHIBATA
19 hours[ruby/psych] [CI] Add/update 'rake install', update Psych version for Ruby ↵MSP-Greg
3.1 gem install
22 hours* 2022-05-18 [ci skip]git
22 hours[ruby/irb] Fix documents for .irbrc pathKouhei Yanagita
32 hoursMove feature deletion from GC mark to `autoload_delete`. (#5912)Samuel Williams
Notes: Merged-By: ioquatix <>
37 hoursRestore implicit relationship between `autoload_const` and `autoload_data` ↵Samuel Williams
during GC. (#5911) Notes: Merged-By: ioquatix <>
39 hoursSuppress an unused-but-set-variable warning [ci skip]Nobuyoshi Nakada
41 hours* 2022-05-17 [ci skip]git
41 hoursSet `target_os` for a7577dbfd3ea53cccf7aaf94208069784ad17791Nobuyoshi Nakada
2 days[ruby/set] Fix a typoKazuhiro NISHIYAMA
2 daysDelete 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 <>
2 days`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.
2 days[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) ✗ 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) ✗ 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) ``` Co-authored-by: Josh Nichols <>
2 days[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. Co-authored-by: Ngan Pham <>
2 daysAdd `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. * .github/workflows/compilers.yml: Add "gcc-11 annocheck" case. To pass the CI, set `TEST_ANNOCHECK_OPTS: "--skip-pie --skip-notes"` for now. See <>. * Skip MJIT tests in case of annocheck case. The MJIT tests fail in the annocheck case. See <>. Notes: Merged:
3 days* 2022-05-16 [ci skip]git
3 days[ruby/racc] [DOC] Remove stale `Object::ParseError` documentationNobuyoshi Nakada
4 days* 2022-05-15 [ci skip]git
4 daysFix 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 <>
4 days[ruby/fileutils] [DOC] Enhanced RDoc for #ln ↵Burdette Lamar
( Enhanced RDoc for #ln Co-authored-by: Peter Zhu <>
5 daysFix compiler warning when USE_RVARGC=0Matt Valentine-House
Notes: Merged:
5 days* 2022-05-14 [ci skip]git
5 days[ruby/logger] [DOC] Enhanced RDoc for Logger ↵Burdette Lamar
( Enhanced RDoc for Logger Co-authored-by: Peter Zhu <>
5 daysPrint function name in backtrace when availablePeter Zhu
If we don't have `saddr` but have `sname` we should output `sname`. Notes: Merged:
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Peter Zhu <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Peter Zhu <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Peter Zhu <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Peter Zhu <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Olle Jonsson <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Olle Jonsson <>
5 days[ruby/logger] Update lib/logger.rbBurdette Lamar Co-authored-by: Olle Jonsson <>
5 days[ruby/logger] Enhanced RDoc for LoggerBurdetteLamar
6 days[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.
6 days[rubygems/rubygems] Normalize parameter nameDavid Rodríguez
The other sources use `options` which reads better.
6 daysStop `build_extensions` when DESTDIR setKazuhiro NISHIYAMA
Try to fix `make install without root privilege` failures on snapshot CIs. example:
6 daysYJIT: 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:
6 days* remove trailing spaces. [ci skip]git
6 daysAdd documentation section to READMEStan Lo
Notes: Merged:
6 days* 2022-05-13 [ci skip]git
6 daysYJIT: 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 <> Notes: Merged-By: jhawthorn <>
6 days.github/workflows/compilers.yml: Add configure --enable-mkmf-verbose case.Jun Aruga
Notes: Merged:
6 daysmkmf: Add a configure option to set verbose mode (V=1 or 0) in mkmf.rb.Jun Aruga
Note this change is only for ``, 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 $ cd byebug $ bundle install --standalone $ bundle exec rake compile ... gcc -I. <...> path/to/file ... ``` Notes: Merged:
6 days[ruby/uri] Improve URI.register_scheme tests and automatically upcase the ↵Benoit Daloze
given scheme * Also add docs and mention current limitations. * For reference, mentions the valid characters in schemes.