summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-25prevent GC from mjit worker.Koichi Sasada
ALLOC_N() can causes GC. Sometimes `mjit_copy_job_handler()` can be called by mjit_worker thread which is not a Ruby thread, so we need to prevent GC in this function. This patch has some issues, but I introduce it to pass the tests.
2020-02-25* 2020-02-25 [ci skip]git
2020-02-25Fix wrong documentation for return value of Pathname#fnmatchMasataka Pocke Kuwabara
Notes: Merged: https://github.com/ruby/ruby/pull/2923
2020-02-24Fixed symbol misused as IDNobuyoshi Nakada
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a `Symbol`. [Bug #16649]
2020-02-24Try with and without "v" prefix for numeric tagNobuyoshi Nakada
2020-02-24Retry checking out the versionNobuyoshi Nakada
rss 0.2.9 is tagged without the "v" prefix.
2020-02-24Update bundled gemsNobuyoshi Nakada
2020-02-24* 2020-02-24 [ci skip]git
2020-02-24Add pattern matching documentationzverok
Add separate doc/syntax/pattern_matching.rdoc, add link to control_expressions.rdoc. The documentation is "reverse-engineered" from Ruby 2.7 behavior and early preview presentations, and corrected by pattern-matching feature author @k-tsj. Notes: Merged: https://github.com/ruby/ruby/pull/2786
2020-02-23Warn non-nil `$/` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Warn non-nil `$\` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Warn non-nil `$,` in `IO#print` tooNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Revert "Prefer `exe/ruby` to execute from it"Nobuyoshi Nakada
This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as an example in bundler expects untouch PATH.
2020-02-23* 2020-02-23 [ci skip]git
2020-02-22hash.c: [DOC] fix examples for ENV.merge!Marcus Stollsteimer
2020-02-22Expand Symbol#to_proc specs to be clearerBenoit Daloze
2020-02-22Prefer `exe/ruby` to execute from itNobuyoshi Nakada
2020-02-22check USE_MJITKoichi Sasada
iseq->body->jit_unit is not available if USE_MJIT==0 .
2020-02-22Proc from Symbol needs a receiverNobuyoshi Nakada
So its arity should be -2 instead of -1. [Bug #16640] https://bugs.ruby-lang.org/issues/16640#change-84337
2020-02-22CI can be NULL.Koichi Sasada
Unused CI (introduced from peephole optimization, etc) can be NULL so introduce NULL check.
2020-02-22More ENV rdoc [ci skip]Burdette Lamar
Notes: Merged: https://github.com/ruby/ruby/pull/2908 Merged-By: nobu <nobu@ruby-lang.org>
2020-02-22test/readline - allow ENV control of test class creationMSP-Greg
In ruby/ruby, the tests run on both readline & reline by creating four test classes: ``` TestReadline TestReadlineHistory TestRelineAsReadline TestRelineAsReadlineHistory ``` Reline inports the test files and uses them in its CI. Adding the ENV control allows it to only run the `TestRelineAsReadline` classes. Notes: Merged: https://github.com/ruby/ruby/pull/2916
2020-02-22* remove trailing spaces. [ci skip]git
2020-02-22Introduce disposable call-cache.Koichi Sasada
This patch contains several ideas: (1) Disposable inline method cache (IMC) for race-free inline method cache * Making call-cache (CC) as a RVALUE (GC target object) and allocate new CC on cache miss. * This technique allows race-free access from parallel processing elements like RCU. (2) Introduce per-Class method cache (pCMC) * Instead of fixed-size global method cache (GMC), pCMC allows flexible cache size. * Caching CCs reduces CC allocation and allow sharing CC's fast-path between same call-info (CI) call-sites. (3) Invalidate an inline method cache by invalidating corresponding method entries (MEs) * Instead of using class serials, we set "invalidated" flag for method entry itself to represent cache invalidation. * Compare with using class serials, the impact of method modification (add/overwrite/delete) is small. * Updating class serials invalidate all method caches of the class and sub-classes. * Proposed approach only invalidate the method cache of only one ME. See [Feature #16614] for more details. Notes: Merged: https://github.com/ruby/ruby/pull/2888
2020-02-22VALUE size packed callinfo (ci).Koichi Sasada
Now, rb_call_info contains how to call the method with tuple of (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and mid+argc+flags only requires 64bits. So this patch packed rb_call_info to VALUE (1 word) on such cases. If we can not represent it in VALUE, then use imemo_callinfo which contains conventional callinfo (rb_callinfo, renamed from rb_call_info). iseq->body->ci_kw_size is removed because all of callinfo is VALUE size (packed ci or a pointer to imemo_callinfo). To access ci information, we need to use these functions: vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci). struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg. rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc() is temporary removed because cd->ci should be marked. Notes: Merged: https://github.com/ruby/ruby/pull/2888
2020-02-22use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp()Koichi Sasada
2020-02-22* 2020-02-22 [ci skip]git
2020-02-22`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada
With refinements, too.
2020-02-22`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada
2020-02-22Adjusted indent [ci skip]Nobuyoshi Nakada
2020-02-21[ruby/irb] `yield` outside method definition is a syntax errorNobuyoshi Nakada
https://github.com/ruby/irb/commit/dbc7b059c7
2020-02-21Fixed net-pop, smtp, protocol and imap task for sync toolHiroshi SHIBATA
2020-02-21Fixed net-ftp sync task and resync from standalone repoHiroshi SHIBATA
2020-02-21Move an entry of net-ftp to the default gems sectionHiroshi SHIBATA
2020-02-21Promote net-http to the default gems.Hiroshi SHIBATA
test/net/http/test_https.rb: rename fixture methods to read_fixture because it conflicts with test-unit gem.
2020-02-21Move an entry of net-ftp to the default gems sectionHiroshi SHIBATA
2020-02-21Promote net-ftp to default gemsHiroshi SHIBATA
2020-02-21* 2020-02-21 [ci skip]git
2020-02-21Fix typo in NEWS-2.7.0Masataka Pocke Kuwabara
Notes: Merged: https://github.com/ruby/ruby/pull/2918
2020-02-20Prefer alignas() over _Alignas()Yusuke Endoh
to allow Intel C++ compiler to read ruby.h. This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320
2020-02-20Fallback to load version file in ruby core repositoryHiroshi SHIBATA
2020-02-20Move an entry of net-imap to the default gems sectionHiroshi SHIBATA
2020-02-20Promote net-imap to the default gemsHiroshi SHIBATA
2020-02-20[ruby/rdoc] Removed `RDoc::Context::Section#sequence`Nobuyoshi Nakada
It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d
2020-02-20Fixed missing `return`Nobuyoshi Nakada
Get rid of double writing.
2020-02-20comma at the end of enum is a C++11ism卜部昌平
Comma at the end of enum is allowed in C since C99. We can use them internally. However when it comes to extension libraries, they could be written in different C++ versions. We cannot assume sometihng. Public headers shall keep compatibilities.
2020-02-20avoid defining inline卜部昌平
Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which (kindly!) aborts compilation on redefinition of C++ keywords. Let's not define this in case of C++.
2020-02-20ext/-test-/cxxanyargs: prevent have_devel check卜部昌平
The `cxx.try_compile` command in this file kicks `cxx.have_devel?` internally, which recursively calls `cxx.try_link` with a different source code. We don't want that happen (the source code compiled in this file must be the first one). We need to fake the system.
2020-02-20printf can be a macro卜部昌平
Namely glibc has this macro on -DFORTIFY_SOURCE. We have to prevent macro redefinition with different macro body.
2020-02-20hide vm_ep_in_heap_p_卜部昌平
`make leaked-globals` points out that this function is leaked. This has not been detected in our CI because it is defined only when VM_CHECK_MODE is nonzero. Just make it static and everytihng goes well.