summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* BundledGem.dummy_spec needs to checkout revision after cloning repository.Hiroshi SHIBATA2023-03-081-1/+1
| | | | | | The current BundledGem.dummy_spec always called from master branch. It caused to CI faiulres like http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20230305T001003Z.fail.html.gz
* Added missing dependency for rubygemsHiroshi SHIBATA2023-03-081-0/+1
|
* Added debug info to gemspec version checkHiroshi SHIBATA2023-03-082-2/+2
|
* Check bundled_gems version and gemspec version strictlyHiroshi SHIBATA2023-03-081-0/+9
|
* Remove obsoleted functions in rjit.cTakashi Kokubun2023-03-078-139/+13
|
* Update documentation about RJITTakashi Kokubun2023-03-073-22/+16
|
* Remove MJIT's builtin function compilerTakashi Kokubun2023-03-074-64/+3
|
* Get rid of MJIT's special forkTakashi Kokubun2023-03-072-68/+0
|
* Fix a typoTakashi Kokubun2023-03-071-4/+4
|
* Link libcapstone no matter what cargo doesTakashi Kokubun2023-03-071-8/+4
| | | | | | | | | libcapstone used to break when it's linked from C and Rust at the same time, but it doesn't seem to happen anymore. Maybe it's related to recent symbol hygiene changes. Thank you if that's the case. This commit allows you to make both --enable-rjit=dev and --enable-yjit=dev work in the same binary.
* Allow enabling YJIT and RJIT independently (#7474)Takashi Kokubun2023-03-079-504/+742
| | | | | We used to require MJIT is supported when YJIT is supported. However, now that RJIT dropped some platforms that YJIT supports, it no longer makes sense. We should be able to enable only YJIT, and vice versa.
* Actually stop supporting those optionsTakashi Kokubun2023-03-071-23/+2
|
* Update options available in RJITTakashi Kokubun2023-03-072-18/+15
|
* Adjust styles [ci skip]Nobuyoshi Nakada2023-03-083-3/+6
|
* Check loading built-in binariesNobuyoshi Nakada2023-03-084-8/+14
|
* Constify function tablesNobuyoshi Nakada2023-03-081-2/+2
|
* Bump ruby/action-slack from 3.0.0 to 3.1.0dependabot[bot]2023-03-0816-16/+16
| | | | | | | | | | | | | | Bumps [ruby/action-slack](https://github.com/ruby/action-slack) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/ruby/action-slack/releases) - [Commits](https://github.com/ruby/action-slack/compare/b6882ea6ef8f556f9f9af9ec1220d3f1ced74acf...36bda26f63ca8a3787504418657edbbc1a3f5361) --- updated-dependencies: - dependency-name: ruby/action-slack dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* [DOC] Fix broken link Data#deconstruct_keysSampat Badhe2023-03-081-1/+1
|
* Give more time to MinGW to run make testTakashi Kokubun2023-03-071-1/+1
| | | | | 10 minutes were not enough. https://github.com/ruby/ruby/actions/runs/4360048989/jobs/7622532445
* YJIT: Add comments to peek and x86_mergeTakashi Kokubun2023-03-072-0/+4
|
* YJIT: Merge lea and mov on x86_64 when possibleTakashi Kokubun2023-03-072-3/+55
|
* [rubygems/rubygems] Respect --no-install option for git: sourcesJulie Haehn2023-03-072-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the --no-install option to `bundle package` is totally ignored for git sources. This can have very strange effects if you have: - a git-sourced gem, - with native extensions, - whose extconf.rb script depends on another gem, - which is installed from Rubygems in the gemfile. In that circumstance, `bundle package --no-install --all` will download the Rubygems dependencies to `vendor/cache` but NOT install them. It will also check out the git gems to `vendor/cache` (good), and attempt to build their native extensions (bad!). The native extension build will fail because the extconf.rb script crashes, since the dependency it needs is missing. I implemented a fix for this in `source/git.rb`, since this is analogous to what's happening in `source/rubygems.rb`. I do admit though the whole thing is a little strange though - an "install" method that.... proceeds to look at a global flag to not install anything. Add test to confirm cache respects the --no-install flag https://github.com/rubygems/rubygems/commit/5a77d1c397 Co-authored-by: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
* YJIT: Handle splat+rest for args pass greater than required (#7468)Jimmy Miller2023-03-076-8/+54
| | | | | | | | | | | For example: ```ruby def my_func(x, y, *rest) p [x, y, rest] end my_func(1, 2, 3, *[4, 5]) ```
* YJIT: Protect strings from GC on String#<< (#7466)Takashi Kokubun2023-03-071-0/+3
| | | | | | | | Fix https://github.com/Shopify/yjit/issues/310 [Bug #19483] Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Co-authored-by: Jimmy Miller <jimmy.miller@shopify.com>
* [rubygems/rubygems] Add TarReader::Entry#seek to seek within the tar file entryMartin Emde2023-03-076-86/+281
| | | | | | | | | | | | | | | | | | TarReader#each previously implemented a partial version of seek. This code moved to Entry#seek for use from TarReader#each. Entry#close now returns nil instead of true, like IO#close. Closing an Entry now seeks to the end of the Entry, seeking past any remaining zero byte tar file padding and moving the io to the correcty position to read the next file in the archive. Uses seek for Entry#rewind and #pos=, fixing the tar->gzip->tar nested rewind that would break previous to this change. Add Entry.open that behaves more like File.open. https://github.com/rubygems/rubygems/commit/f5149565d5
* YJIT: Handle special case of splat and rest lining up (#7422)Jimmy Miller2023-03-075-29/+76
| | | | | | | | | | | | | | | | If you have a method that takes rest arguments and a splat call that happens to line up perfectly with that rest, you can just dupe the array rather than move anything around. We still have to dupe, because people could have a custom to_a method or something like that which means it is hard to guarantee we have exclusive access to that array. Example: ```ruby def foo(a, b, *rest) end foo(1, 2, *[3, 4]) ```
* YJIT: Bump SEND_MAX_DEPTH to 10 (#7452)Takashi Kokubun2023-03-071-2/+2
|
* Add function rb_data_freePeter Zhu2023-03-071-46/+42
| | | | | | | This commit adds a function rb_data_free used by obj_free and rb_objspace_call_finalizer to free T_DATA objects. This change also means that RUBY_TYPED_FREE_IMMEDIATELY objects can be freed immediately in rb_objspace_call_finalizer rather than being created into a zombie.
* [rubygems/rubygems] Avoid calling String#dup in Gem::Version#marshal_dumpSamuel Giddins2023-03-071-1/+1
| | | | | | Might potentially save a second every time RubyGems.org creates a specs index https://github.com/rubygems/rubygems/commit/d6e4d50f8d
* Use proper memoized var name for Gem.state_home.Josef Šimánek2023-03-072-1/+25
|
* [rubygems/rubygems] Fix gemspec file filterDavid Rodríguez2023-03-071-1/+1
| | | | | | | | | Explicitly match directory separator to not match files in repo root accidentally. https://github.com/rubygems/rubygems/commit/b936805ea9 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* [rubygems/rubygems] Better suggestion when `bundler/setup` fails due to ↵David Rodríguez2023-03-072-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | missing gems If the original `BUNDLE_GEMFILE` is different from the default, then the suggestion wouldn't work as is. Before: ``` $ util/rubocop Could not find rubocop-1.30.1 in locally installed gems Run `bundle install` to install missing gems. $ rubygems git:(better-cmd-suggestion) ✗ bundle install Could not locate Gemfile ``` After: ``` $ util/rubocop Could not find rubocop-1.30.1 in locally installed gems Run `bundle install --gemfile /path/to/rubygems/bundler/tool/bundler/lint_gems.rb` to install missing gems. $ bundle install --gemfile /path/to/rubygems/bundler/tool/bundler/lint_gems.rb Fetching gem metadata from https://rubygems.org/......... Using ast 2.4.2 Using bundler 2.4.7 Using parser 3.1.2.0 Using rainbow 3.1.1 Using parallel 1.22.1 Using regexp_parser 2.5.0 Using rubocop-ast 1.18.0 Using rexml 3.2.5 Using ruby-progressbar 1.11.0 Using unicode-display_width 2.1.0 Fetching rubocop 1.30.1 Installing rubocop 1.30.1 Using rubocop-performance 1.14.2 Bundle complete! 2 Gemfile dependencies, 12 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. $ util/rubocop Inspecting 345 files ......................................................................................................................................................................................................................................................................................................................................................... 345 files inspected, no offenses detected ``` https://github.com/rubygems/rubygems/commit/bf1320d805
* [rubygems/rubygems] Remove hardcoded master branch referencesDavid Rodríguez2023-03-079-32/+32
| | | | | | Let RubyGems use the default branch defined by each repo. https://github.com/rubygems/rubygems/commit/54bd3e9ebd
* [rubygems/rubygems] Let git source use default cloned repo branchDavid Rodríguez2023-03-073-12/+11
| | | | https://github.com/rubygems/rubygems/commit/d8af770379
* Regenerate RJIT bindgenTakashi Kokubun2023-03-061-26/+26
|
* s/mjit/rjit/Takashi Kokubun2023-03-0663-1080/+1078
|
* s/MJIT/RJIT/Takashi Kokubun2023-03-0687-744/+744
|
* Rename MJIT filenames to RJITTakashi Kokubun2023-03-0627-0/+1
|
* MJIT is no longer slower on RailsTakashi Kokubun2023-03-061-2/+2
|
* Correctly clean up `keeping_mutexes` before resuming any other threads. (#7460)Samuel Williams2023-03-072-31/+28
| | | | | | | | | | | It's possible (but very rare) to have a race condition between setting `mutex->fiber = NULL` and `thread_mutex_remove(th, mutex)` which results in the following bug: ``` [BUG] invalid keeping_mutexes: Attempt to unlock a mutex which is not locked ``` Fixes <https://bugs.ruby-lang.org/issues/19480>.
* Remove obsoleted mjit_sp_inc.inc.erbTakashi Kokubun2023-03-067-30/+2
|
* Update bundled gems list at 2023-03-07git2023-03-072-2/+2
|
* Remove obsoleted tool/mjit_tabs.rbTakashi Kokubun2023-03-063-72/+0
|
* Remove obsoleted tool/mjit_archflag.shTakashi Kokubun2023-03-061-40/+0
|
* Improve robustness of `io_wait` implementation. (#7456)Samuel Williams2023-03-071-13/+59
| | | | | - Restore correct handling of `duration`. - Don't delete from `@readable` or `@writable` unless it was added. - A little more documentation.
* Remove MJIT-specific benchmarksTakashi Kokubun2023-03-067-149/+0
|
* Remove obsoleted mjit_config.hTakashi Kokubun2023-03-063-32/+0
|
* Remove obsoleted MJIT_HEADER macroTakashi Kokubun2023-03-0611-149/+11
|
* Remove obsoleted MJIT_STATIC macroTakashi Kokubun2023-03-066-35/+16
|
* Stop building mjit_build_dir.soTakashi Kokubun2023-03-063-25/+0
|