summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-10Simplify ibf_dump_object_symbol by delegating to ibf_dump_object_stringJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/4119
2021-03-10Add a benchmark for RubyVM::InstructionSequence.load_from_binaryJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/4119
2021-03-10Pre-freeze ISeq names to avoid useless duplicationJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/4119
2021-03-10Use rb_enc_interned_str in ibf_load_object_stringJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/4119
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