aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Warn non-nil `$\` [Feature #14240]Nobuyoshi Nakada2020-02-238-26/+37
|
* Warn non-nil `$,` in `IO#print` tooNobuyoshi Nakada2020-02-232-1/+4
|
* Revert "Prefer `exe/ruby` to execute from it"Nobuyoshi Nakada2020-02-232-10/+5
| | | | | This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as an example in bundler expects untouch PATH.
* * 2020-02-23 [ci skip]git2020-02-231-1/+1
|
* hash.c: [DOC] fix examples for ENV.merge!Marcus Stollsteimer2020-02-221-5/+6
|
* Expand Symbol#to_proc specs to be clearerBenoit Daloze2020-02-221-10/+32
|
* Prefer `exe/ruby` to execute from itNobuyoshi Nakada2020-02-222-5/+10
|
* check USE_MJITKoichi Sasada2020-02-221-0/+2
| | | | iseq->body->jit_unit is not available if USE_MJIT==0 .
* Proc from Symbol needs a receiverNobuyoshi Nakada2020-02-224-8/+19
| | | | | | | So its arity should be -2 instead of -1. [Bug #16640] https://bugs.ruby-lang.org/issues/16640#change-84337
* CI can be NULL.Koichi Sasada2020-02-221-28/+41
| | | | | Unused CI (introduced from peephole optimization, etc) can be NULL so introduce NULL check.
* More ENV rdoc [ci skip]Burdette Lamar2020-02-221-61/+116
|
* test/readline - allow ENV control of test class creationMSP-Greg2020-02-222-3/+4
| | | | | | | | | | | | | 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.
* * remove trailing spaces. [ci skip]git2020-02-222-2/+2
|
* Introduce disposable call-cache.Koichi Sasada2020-02-2232-870/+1606
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* VALUE size packed callinfo (ci).Koichi Sasada2020-02-2226-546/+632
| | | | | | | | | | | | | | | | | | | | 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.
* use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp()Koichi Sasada2020-02-221-1/+1
|
* * 2020-02-22 [ci skip]git2020-02-221-1/+1
|
* `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada2020-02-224-3/+10
| | | | With refinements, too.
* `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada2020-02-221-0/+4
|
* Adjusted indent [ci skip]Nobuyoshi Nakada2020-02-221-1/+1
|
* [ruby/irb] `yield` outside method definition is a syntax errorNobuyoshi Nakada2020-02-211-1/+1
| | | | https://github.com/ruby/irb/commit/dbc7b059c7
* Fixed net-pop, smtp, protocol and imap task for sync toolHiroshi SHIBATA2020-02-211-8/+20
|
* Fixed net-ftp sync task and resync from standalone repoHiroshi SHIBATA2020-02-212-4/+7
|
* Move an entry of net-ftp to the default gems sectionHiroshi SHIBATA2020-02-212-3/+4
|
* Promote net-http to the default gems.Hiroshi SHIBATA2020-02-215-6/+48
| | | | | test/net/http/test_https.rb: rename fixture methods to read_fixture because it conflicts with test-unit gem.
* Move an entry of net-ftp to the default gems sectionHiroshi SHIBATA2020-02-212-3/+4
|
* Promote net-ftp to default gemsHiroshi SHIBATA2020-02-214-1/+40
|
* * 2020-02-21 [ci skip]git2020-02-211-1/+1
|
* Fix typo in NEWS-2.7.0Masataka Pocke Kuwabara2020-02-211-1/+1
|
* Prefer alignas() over _Alignas()Yusuke Endoh2020-02-201-3/+8
| | | | | to allow Intel C++ compiler to read ruby.h. This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320
* Fallback to load version file in ruby core repositoryHiroshi SHIBATA2020-02-201-1/+5
|
* Move an entry of net-imap to the default gems sectionHiroshi SHIBATA2020-02-202-3/+4
|
* Promote net-imap to the default gemsHiroshi SHIBATA2020-02-204-1/+36
|
* [ruby/rdoc] Removed `RDoc::Context::Section#sequence`Nobuyoshi Nakada2020-02-202-21/+0
| | | | | | It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d
* Fixed missing `return`Nobuyoshi Nakada2020-02-201-0/+1
| | | | Get rid of double writing.
* comma at the end of enum is a C++11ism卜部昌平2020-02-201-1/+1
| | | | | | | 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.
* avoid defining inline卜部昌平2020-02-201-1/+1
| | | | | | 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++.
* ext/-test-/cxxanyargs: prevent have_devel check卜部昌平2020-02-201-2/+11
| | | | | | | 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.
* printf can be a macro卜部昌平2020-02-201-0/+1
| | | | | Namely glibc has this macro on -DFORTIFY_SOURCE. We have to prevent macro redefinition with different macro body.
* hide vm_ep_in_heap_p_卜部昌平2020-02-201-1/+1
| | | | | | | | `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.
* fix arity mismatch卜部昌平2020-02-201-1/+1
| | | | | This is a ruby method with arity zero. Which means, this function takes one argument (that is self).
* TestTime#test_memsize: skip when on GC_DEBUG卜部昌平2020-02-202-0/+2
| | | | | GC_DEBUG=1 makes this test fail because it changes the size of struct RVALUE. I don't think the test is useful then. Let's just skip.
* suppress clang warnings卜部昌平2020-02-202-3/+5
| | | | | | Starting clang 11, casts between pointer and (narrower-than-pointer) int are now warned. However all such thing in our repository are guaranteed safe. Let's suppress the warnings.
* [DOC] Fixed `ENV.rassoc` result order [ci skip]Nobuyoshi Nakada2020-02-201-2/+3
|
* hash.c: [DOC] fix typosMarcus Stollsteimer2020-02-191-3/+3
|
* doc/make_cheatsheet.md: fix typosMarcus Stollsteimer2020-02-191-3/+3
|
* * 2020-02-20 [ci skip]git2020-02-201-1/+1
|
* Use `brew upgrade` instead of `brew update`Kazuhiro NISHIYAMA2020-02-201-1/+1
|
* Avoid jumping to a wrong destinationTakashi Kokubun2020-02-182-2/+17
| | | | when the next insn is already compiled by former branches.
* `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada2020-02-193-1/+10
|