summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-10Specialize ibf_load_object_symbol and ibf_dump_object_symbolJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/4119
2021-03-10proc.c: make bind_call use existing callable method entry when possibleJean Boussier
The most common use case for `bind_call` is to protect from core methods being redefined, for instance a typical use: ```ruby UNBOUND_METHOD_MODULE_NAME = Module.instance_method(:name) def real_mod_name(mod) UNBOUND_METHOD_MODULE_NAME.bind_call(mod) end ``` But it's extremely common that the method wasn't actually redefined. In such case we can avoid creating a new callable method entry, and simply delegate to the receiver. This result in a 1.5-2X speed-up for the fast path, and little to no impact on the slowpath: ``` compare-ruby: ruby 3.1.0dev (2021-02-05T06:33:00Z master b2674c1fd7) [x86_64-darwin19] built-ruby: ruby 3.1.0dev (2021-02-15T10:35:17Z bind-call-fastpath d687e06615) [x86_64-darwin19] | |compare-ruby|built-ruby| |:---------|-----------:|---------:| |fastpath | 11.325M| 16.393M| | | -| 1.45x| |slowpath | 10.488M| 10.242M| | | 1.02x| -| ``` Notes: Merged: https://github.com/ruby/ruby/pull/4188
2021-03-10Remove cvar overtaken classes at end of test methodsJeremy Evans
Fixes issues when the same tests are executed more than once, which some CI machines do.
2021-03-10Add cvar overtaken testseileencodes
While working on another project we noticed that there were no tests for the cvar overtaken exception when using classes. This change adds a test for cvar overtaken with classes and moves the cvar overtaken test for modules into the new file. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/4251
2021-03-10Refactor `rb_class_ivar_set`eileencodes
In every caller of `rb_class_ivar_set` it checks for the `RCLASS_IV_TBL` and then creates it if it doesn't exist. Instead of repeating this in every caller, this can be done once in `rb_class_ivar_set`. Notes: Merged: https://github.com/ruby/ruby/pull/4254
2021-03-11* 2021-03-11 [ci skip]git
2021-03-10Remove DEFINED_IVAR2 from enumJohn Hawthorn
This version of defined? doesn't seem to be possible to emit anymore. Notes: Merged: https://github.com/ruby/ruby/pull/4253
2021-03-10Fix `coroutine_type` variable nameNobuyoshi Nakada
2021-03-10Update bundled_gemsKazuhiro NISHIYAMA
2021-03-10* 2021-03-10 [ci skip]git
2021-03-09Given argument does not need to cacheNobuyoshi Nakada
2021-03-09Recheck ucontext functions to make reconfig stableNobuyoshi Nakada
2021-03-09Destroy VM-wise locks before freeing [Bug #15852]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4249
2021-03-09* 2021-03-09 [ci skip]git
2021-03-09[ruby/zlib] Resume zstream if available [Bug #10961]wanabe
Notes: Merged: https://github.com/ruby/ruby/pull/4248
2021-03-08Increment global variables atomicallyNobuyoshi Nakada
2021-03-08Make vm_exit_handler installation MT-safeNobuyoshi Nakada
2021-03-08Make uenvarea thread exclusiveNobuyoshi Nakada
2021-03-08Make the flag in thread_exclusive uniqueNobuyoshi Nakada
2021-03-08Enclose crtitical sections in `thread_exclusive` blockNobuyoshi Nakada
2021-03-08test/ruby/test_string.rb: make GitHub syntax-highlight correctlyYusuke Endoh
It looks like GitHub syntax-highlighting does not support an empty heredoc. This change adds a newline to make GitHub can handle the syntax appropriately. https://bugs.ruby-lang.org/issues/17662
2021-03-08[rubygems/rubygems] Remote test to check requireAditya Prakash
This test was triggering require of `rubygems/core_ext/tcpsocket_init` which overrides TCPSocket.initialize globally. Requires don't get reset between test runs and it was making other test unreliable. Fixes timeout of test on ruby master https://github.com/rubygems/rubygems/commit/fdfe5c9691 Notes: Merged: https://github.com/ruby/ruby/pull/4143
2021-03-08Sync latest development version of bundler & rubygemsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/4143
2021-03-08Remove no longer needed globsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/4143
2021-03-08Suppress useless default branch name hint [ci skip]Nobuyoshi Nakada
2021-03-08Removed HEAD^2 checkout to suppress a CodeQL annotation [ci skip]Nobuyoshi Nakada
2021-03-08[ruby/stringio] Check if closed in loopNobuyoshi Nakada
[Bug #17675] https://bugs.ruby-lang.org/issues/17675 https://github.com/ruby/stringio/commit/1ed61d0cbc
2021-03-08[ruby/stringio] Use Gemfile instead of ↵Hiroshi SHIBATA
Gem::Specification#add_development_dependency. https://github.com/ruby/stringio/commit/157fe9f04d
2021-03-08Fixed FD leaksNobuyoshi Nakada
2021-03-08* 2021-03-08 [ci skip]git
2021-03-08[ruby/stringio] Include all modules included into Test::Unit::TestCaseNobuyoshi Nakada
Some methods are separated into modules in test-unit now. https://github.com/ruby/stringio/commit/d289848994
2021-03-08[ruby/stringio] Pass IOs as separate list for ruby 2.xNobuyoshi Nakada
https://github.com/ruby/stringio/commit/74e39858eb
2021-03-08Prefer to use omitHiroshi SHIBATA
2021-03-07Removed a typo in a comment [ci skip]Nobuyoshi Nakada
2021-03-07[ruby/io-wait] Declare as Ractor-safeNobuyoshi Nakada
Fixes https://bugs.ruby-lang.org/issues/17659 https://github.com/ruby/io-wait/commit/ba338b4764 Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-03-07[ruby/io-wait] bump up to 0.1.1Nobuyoshi Nakada
https://github.com/ruby/io-wait/commit/88db082d60 Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-03-07[ruby/io-wait] Refined uncommon device type testsNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/0c73ebcf5d Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-03-07[ruby/io-wait] Fixed required_ruby_versionNobuyoshi Nakada
Before 3.0.0, io-wait has not been gemified. https://github.com/ruby/io-wait/commit/6fed3da323 Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-03-07[ruby/io-wait] Revise IO#wait argumentsNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/0599f6d4d6 https://github.com/ruby/io-wait/commit/4e982aea1b https://github.com/ruby/io-wait/commit/5b45685eb3 Notes: Merged: https://github.com/ruby/ruby/pull/4244
2021-03-06Undef Enumerator::Chain#{feed,next,next_values,peek,peek_values}Jeremy Evans
Previously these methods were defined but raised TypeError, which seems worse. Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-03-06Make Enumerator#{+,chain} create lazy chain if any included enumerator is lazyJeremy Evans
Implements [Feature #17347] Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-03-06Fix calling enumerator methods such as with_index on Enumerator::ChainJeremy Evans
This previously raised a TypeError. Wrap the Enumerator::Chain in an Enumerator to work around the problem. Fixes [Bug #17216] Notes: Merged: https://github.com/ruby/ruby/pull/3811
2021-03-07* 2021-03-07 [ci skip]git
2021-03-07Make Ractor stdio belonging to the Ractor [Bug #17672]Nobuyoshi Nakada
Defer making ractor stdio until ractor started. Before ractor started, created objects belong to the caller ractor instead of the created ractor. Notes: Merged: https://github.com/ruby/ruby/pull/4241 Merged-By: nobu <nobu@ruby-lang.org>
2021-03-06Keep libpath length non-negative [Bug #16784]Yusuke Endoh
When runtime_libruby_path does not include '/', it attempts to call rb_str_resize with negative length. This change makes sure that the length non-negative. Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
2021-03-06* 2021-03-06 [ci skip]git
2021-03-06[ruby/irb] Make save-history extension safe for concurrent useJeremy Evans
This makes the save-history extension check for modifications to the history file before saving it. If the history file was modified after the history was loaded and before it was saved, append only the new history lines to the history file. This can result in more lines in the history file than SAVE_HISTORY allows. However, that will be fixed the next time irb is run and the history is saved. Fixes [Bug #13654] https://github.com/ruby/irb/commit/041ef53845
2021-03-05[ruby/irb] Add a test for not continuing when endless range at eolaycabta
https://github.com/ruby/irb/commit/1020ac9c65
2021-03-05[ruby/irb] Do not continue line if last expression is an endless rangeJeremy Evans
Fixes [Bug #14824] https://github.com/ruby/irb/commit/63414f8465
2021-03-05rb_sym_interned_p: doesn't exist卜部昌平
Deleted decades ago in commit 6e0fed271c1d2e6f2b13b99d89d43e7d00e81472 Note also that we eventually ended up reinventing this exact same functionality. It is called rb_check_id() now.