summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* UnboundMethod only refer defined_classKoichi Sasada2022-12-036-26/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | UnboundMethod records caller's class, like `D` or `E` on the following case: ```ruby class C def foo = :foo end class D < C end class E < C end d = D.instance_method(:foo) e = E.instance_method(:foo) ``` But `d` and `e` only refers `C#foo` so that UnboundMethod doesn't record `D` or `E`. This behavior changes the following methods: * `UnboundMethod#inspect` (doesn't show caller's class) * `UnboundMethod#==` (`d == e` for example) fix https://bugs.ruby-lang.org/issues/18798
* [ruby/irb] Require pathname in test helperStan Lo2022-12-021-0/+2
| | | | | | (https://github.com/ruby/irb/pull/467) https://github.com/ruby/irb/commit/39c6924c12
* Remove unused rb_shape_flag_shift and rb_shape_flag_maskJemma Issroff2022-12-024-22/+0
|
* Fixed yjit bindings rb_gc_write_barrierJemma Issroff2022-12-021-0/+3
|
* Extracted rb_shape_id_offsetJemma Issroff2022-12-025-6/+17
|
* Update yjit/src/codegen.rsMaxime Chevalier-Boisvert2022-12-021-1/+0
|
* make flag clearing betterAaron Patterson2022-12-021-5/+6
|
* only generate wb when we really need toAaron Patterson2022-12-021-23/+29
|
* bail on compilation if the comptime receiver is frozenAaron Patterson2022-12-024-0/+14
|
* do not fire the wb when writing immediatesAaron Patterson2022-12-021-1/+14
|
* implement IV writesAaron Patterson2022-12-026-21/+271
|
* [ruby/irb] Disable debug cmd tests based on project structureStan Lo2022-12-022-12/+10
| | | | | | | | | | instead of env (https://github.com/ruby/irb/pull/466) It's hard to find an env var that's universally set in all Ruby CI environments but not in local. Checking gemspec seems to be a better way as `syntax_suggest` already uses it for a while. https://github.com/ruby/syntax_suggest/blob/d8f1bca297a392b80b5d167e2be07cf6ac4feae3/spec/spec_helper.rb#L47
* YJIT: check that we correctly auto-enable YJIT on Linux (#6854)Maxime Chevalier-Boisvert2022-12-021-1/+6
| | | | | | | | * YJIT: check that we correctly auto-enable YJIT on Linux YJIT should be automatically built on Linux x86-64 when rustc is present, and we should see +YJIT in the version string. * Use miniruby rather than system ruby
* [rubygems/rubygems] Delete partial file and re-raise on Errno::ENOSPC.Ellen Marie Dash2022-12-022-0/+35
| | | | | | Add test for not leaving empty files if ENOSPC is raised during 'gem install' https://github.com/rubygems/rubygems/commit/8e0e20f079
* Do not run drb SSL tests on WindowsTakashi Kokubun2022-12-021-4/+4
| | | | | | These tests often cause a timeout and this issue seems specific to the Windows platforms. https://github.com/ruby/ruby/actions/runs/3603761925/jobs/6072346738
* Skip another flaky Ractor test for YJITTakashi Kokubun2022-12-021-1/+1
|
* Skip a couple of Ractor testsTakashi Kokubun2022-12-021-2/+4
| | | | | Koichi plans to rework Ractor implementation to address these failures. He agreed to skip flaky Ractor tests for now.
* YJIT: echo "\n" is not portableAlan Wu2022-12-021-1/+1
| | | | | | | It's unspecified by POSIX. zsh and dash give a newline and bash doesn't substitute it. Attributes don't have to be followed by a newline anyway, so just remove it. [Bug #19174]
* Update bundled gems list at 6f3c8fdab46872ccece3bf512adac9 [ci skip]git2022-12-021-1/+1
|
* debug.gem v1.7.0Koichi Sasada2022-12-031-1/+1
|
* Fix up "Avoid bash specific variable substitution"Nobuyoshi Nakada2022-12-031-1/+1
| | | | | Keep `target_alias` empty if it is set to empty. If it is set to non empty, `os_version_style_transform` is not used.
* downloader.rb: Select less components pathNobuyoshi Nakada2022-12-031-1/+1
|
* YJIT: Make case-when optimization respect === redefinition (#6846)Alan Wu2022-12-024-2/+66
| | | | | | | | | | | | | | | | | | * YJIT: Make case-when optimization respect === redefinition Even when a fixnum key is in the dispatch hash, if there is a case such that its basic operations for === is redefined, we need to fall back to checking each case like the interpreter. Semantically we're always checking each case by calling === in order, it's just that this is not observable when basic operations are intact. When all the keys are fixnums, though, we can do the optimization we're doing right now. Check for this condition. * Update yjit/src/cruby_bindings.inc.rs Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
* YJIT: Change the default --yjit-call-threshold to 30 (#6850)Takashi Kokubun2022-12-022-1/+3
|
* downloader.rb: Fix link to absolute cache pathNobuyoshi Nakada2022-12-031-2/+12
|
* Use consistent style [ci skip]Nobuyoshi Nakada2022-12-025-6/+12
|
* Wait killed threadsNobuyoshi Nakada2022-12-021-0/+2
|
* Avoid bash specific variable substitutionNobuyoshi Nakada2022-12-022-6/+12
| | | | | It may cause parse errors in some other sh even in never executed parts.
* [ruby/reline] Fix misuse of kwarg in IO#rawHASUMI Hitoshi2022-12-021-1/+1
| | | | | | | | | | - Obviously, `tim` is a typo for `time` - This didn't cause an exception because IO#raw is implemented in C and it doesn't check the keyword of the parameters - Though this typo doesn't produce any problems for now, I think it should be fixed just in case for the future - I've used this fixed version of Reline with IRB for several days and didn't find any new problems due to the fix - But I myself am not sure how to make sure this fix is completely robust https://github.com/ruby/reline/commit/e66a9696a1
* [ruby/io-console] Omit on JRubyNobuyoshi Nakada2022-12-021-0/+1
| | | | https://github.com/ruby/io-console/commit/9122c181eb
* [ruby/io-console] Check rawmode option names strictlyNobuyoshi Nakada2022-12-022-10/+38
| | | | https://github.com/ruby/io-console/commit/aa8fc7e947
* io.c (read_all): grow the buffer exponentially when size is unknownJean Boussier2022-12-021-2/+16
| | | | | | | | [Feature #6047] Currently it's grown by `BUFSIZ` (1024) on every iteration which is bit wasteful. Instead we can double the capacity whenever there is less than `BUFSIZ` capacity left.
* MJIT: Use install = true for bundler/inlineTakashi Kokubun2022-12-011-1/+1
| | | | | It prints a `bundle install`-like output, which seems more useful than a silent output.
* [ruby/irb] This doesn't work on RubyCI eitherTakashi Kokubun2022-12-021-2/+2
| | | | | | | | | http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20221202T063302Z.fail.html.gz http://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20221202T053006Z.fail.html.gz http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20221202T063002Z.fail.html.gz http://rubyci.s3.amazonaws.com/osx1013/ruby-master/log/20221202T054503Z.fail.html.gz https://github.com/ruby/irb/commit/13c2484d59
* Fix a link [ci skip]Kazuhiro NISHIYAMA2022-12-021-1/+1
|
* NEWS.md: sort [ci skip]Kazuhiro NISHIYAMA2022-12-021-1/+1
|
* Wait killed threadNobuyoshi Nakada2022-12-021-0/+1
|
* Clarify the storage argument. (#6849)Samuel Williams2022-12-022-7/+12
| | | * Slightly more consistent indentation with other parts of the document.
* [ruby/irb] Skip debug command tests on ruby/rubyTakashi Kokubun2022-12-021-0/+6
| | | | | | | Stan has said these tests could be excluded if they don't work on ruby/ruby CI. https://github.com/ruby/irb/commit/11e779ecb7
* [rubygems/rubygems] require bundler/setup only when Bundler is not definedYusuke Endoh2022-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | ... to prevent "circular require" when `--disable-gems` is used. This is a simplified case of https://github.com/ruby/ruby/commit/e5a0abc5dedfd011986b16e8f8cf5cda476984c9 ``` $ bundle exec ruby -we 'system("ruby", "-w", "--disable-gems", "-e", "")' <internal:/home/mame/work/ruby/local/lib/ruby/3.2.0+3/rubygems/core_ext/kernel_require.rb>:85: warning: <internal:/home/mame/work/ruby/local/lib/ruby/3.2.0+3/rubygems/core_ext/kernel_require.rb>:85: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/3.2.0+3/bundler/setup.rb ``` When bundler/setup is require'ed under --disable-gems mode, it loads rubygems by `require "rubygems" unless defined?(Gem)` in https://github.com/rubygems/rubygems/blob/0b1f682a6d65e57b86ba4853cba23cac361c769d/bundler/lib/bundler/rubygems_integration.rb#L3 In this case, require'ing bundler/setup from rubygems.rb is circular. This change makes rubygems.rb to require "bundler/setup" only when `Bundler` is not defined. https://github.com/rubygems/rubygems/commit/b4608dee5e
* [ruby/irb] Use the proper ruby command and library pathNobuyoshi Nakada2022-12-021-2/+5
| | | | https://github.com/ruby/irb/commit/1416cc1871
* Skip examples for SyntaxError extensions on Ruby 3.2Hiroshi SHIBATA2022-12-021-0/+4
|
* [ruby/irb] Test debug commands without yamatanoorotiStan Lo2022-12-022-223/+258
| | | | | | | | | | | | | | | | | (https://github.com/ruby/irb/pull/464) * Add debug command tests that don't require yamatanooroti * Remove debug command related yamatanooroti tests As discussed in https://github.com/ruby/irb/pull/449#pullrequestreview-1187255149, we should avoid adding new tests that need yamatanooroti because it's not maintained by the Ruby org. And since debug commands are now tested in `test/irb/test_debug_cmd.rb`, we don't need these tests anymore. * Test against latest debug gem https://github.com/ruby/irb/commit/78a8aa8834
* [ruby/syntax_suggest] Add temp support for 3.2.0-preview{3,2,1}schneems2022-12-021-1/+10
| | | | | | This SyntaxError#path feature only exists in Ruby HEAD. Until it is released in a preview I want to continue to support existing releases of 3.2.0 (and also so CI will continue to work, as it still uses a preview version to execute tests). https://github.com/ruby/syntax_suggest/commit/9862032465
* [ruby/syntax_suggest] No longer need PathnameFromMessage with SyntaxError#path.Hiroshi SHIBATA2022-12-021-7/+4
| | | | | | | | https://bugs.ruby-lang.org/issues/19138 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> https://github.com/ruby/syntax_suggest/commit/8e1e7b3298
* Improve packing of iseq_constant_body structJohn Hawthorn2022-12-012-6/+8
| | | | | | | | By moving the two bools into a packing gap above the mark_bits pointer/union we can save 8 bytes in the struct and avoid an extra cache line (328 bytes vs 320 bytes). Co-authored-by: Adam Hess <HParker@github.com>
* YJIT: Respect destination num_bits on STUR (#6848)Takashi Kokubun2022-12-011-2/+7
|
* Relax the timeout of a YAML testTakashi Kokubun2022-12-011-1/+1
| | | | https://cirrus-ci.com/task/4752663775019008
* Add a macro for SHAPE_DEBUGJohn Hawthorn2022-12-011-2/+6
| | | | | Like before, default to VM_CHECK_MODE > 0, but this allows just enabling shape debug helpers without the rest of VM_CHECK_MODE.
* Inherit max_iv_count from superclassJohn Hawthorn2022-12-011-1/+7
| | | | | | | | In 274870bd5434ab64ac3a3c9db9aa27d262c1d6d6 we gained the ability to make an educated guess at the max_iv_count of a class based on its initialize method. This commit makes subclasses inherit their super's max_iv_count, which makes the estimate work in cases that the subclass does not have an initialize method.