aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Manage deprecation warnings about keyword argumentNobuyoshi Nakada2019-12-192-0/+5
|
* Made the warning for deprecated constants follow the category flagNobuyoshi Nakada2019-12-194-9/+28
|
* Adjusted the formatNobuyoshi Nakada2019-12-191-2/+4
|
* * 2019-12-19 [ci skip]git2019-12-191-1/+1
|
* Refactor free page insertionAaron Patterson2019-12-181-7/+7
| | | | | | | | | | | I am trying to fix this error: http://ci.rvm.jp/results/trunk-gc_compact@silicon-docker/2491596 Somehow we have a page in the `free_pages` list that is full. This commit refactors the code so that any time we add a page to the `free_pages` list, we do it via `heap_add_freepage`. That function then asserts that the free slots on that page are not 0.
* Merge bundler-2.1.1 from bundler/bundlerHiroshi SHIBATA2019-12-185-13/+23
|
* delete rb_vm_call()卜部昌平2019-12-182-8/+0
| | | | Nobody uses it any longer.
* describe mc_miss_reuse_call [ci skip]卜部昌平2019-12-181-0/+1
|
* Use a temporary file for chown testNobuyoshi Nakada2019-12-181-5/+3
| | | | | Errno::EROFS may occur when the source tree is placed in a read-only filesystem.
* [ruby/io-console] Skip Interrupt test on LinuxNobuyoshi Nakada2019-12-181-1/+1
| | | | | | Hangs up only in ruby/ruby on Travis-CI. https://github.com/ruby/io-console/commit/de39aa6dd6
* per-method serial number卜部昌平2019-12-186-6/+9
| | | | | | | | | | | | | | | | | Methods and their definitions can be allocated/deallocated on-the-fly. One pathological situation is when a method is deallocated then another one is allocated immediately after that. Address of those old/new method entries/definitions can be the same then, depending on underlying malloc/free implementation. So pointer comparison is insufficient. We have to check the contents. To do so we introduce def->method_serial, which is an integer unique to that specific method definition. PS: Note that method_serial being uintptr_t rather than rb_serial_t is intentional. This is because rb_serial_t can be bigger than a pointer on a 32bit system (rb_serial_t is at least 64bit). In order to preserve old packing of struct rb_call_cache, rb_serial_t is inappropriate.
* [ruby/io-console] Set raw mode strictly same as cfmakerawNobuyoshi Nakada2019-12-182-3/+5
| | | | | | | | | | * Default VMIN and VTIME to minimum input. * Disable parity check bits explicitly. * Disable all bits for flow control on input. Co-Authored-By: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/io-console/commit/5ce201a686
* Skip optimized method check for most method IDsJohn Hawthorn2019-12-173-2/+24
| | | | | | | | | | | Previously every time a method was defined on a module, we would recursively walk all subclasses to see if the module was included in a class which the VM optimizes for (such as Integer#+). For most method definitions we can tell immediately that this won't be the case based on the method's name. To do this we just keep a hash with method IDs of optimized methods and if our new method isn't in that list we don't need to check subclasses at all.
* Replace debug test with assertionJohn Hawthorn2019-12-171-4/+1
| | | | | It's a Ruby bug if this ever happens check it as an assertion instead of paying the cost of the check every time.
* Check type with BUILTIN_TYPE in method cache clearJohn Hawthorn2019-12-171-1/+1
| | | | | | We know that this is a heap-allocated object (a CLASS, MODULE, or ICLASS) so we don't need to check if it is an immediate value. This should be very slightly faster.
* Define PREV_CLASS_SERIALJohn Hawthorn2019-12-172-1/+2
| | | | | | | | Avoids genereating a "throwaway" sentinel class serial. There wasn't any read harm in doing so (we're at no risk of exhaustion and there'd be no measurable performance impact), but if feels cleaner that all class serials actually end up assigned and used (especially now that we won't overwrite them in a single method definition).
* Avoid revisiting seen nodes clearing method cacheJohn Hawthorn2019-12-171-1/+7
| | | | | | | | | | | | | | | | | | rb_clear_method_cache_by_class calls rb_class_clear_method_cache recursively on subclasses, where it will bump the class serial and clear some other data (callable_m_tbl, and some mjit data). Previously this could end up taking a long time to clear all the classes if the module was included a few levels deep and especially if there were multiple paths to it in the dependency tree (ie. a class includes two modules which both include the same other module) as we end up revisiting class/iclass/module objects multiple times. This commit avoids revisiting the same object, by short circuiting when revisit the same object. We can check this efficiently by comparing the class serial of each object we visit with the next class serial at the start. We know that any objects with a higher class serial have already been visited.
* * 2019-12-18 [ci skip]v2_7_0_rc1git2019-12-181-1/+1
|
* Revert "Skip interruptible raw mode test on Travis-CI"Nobuyoshi Nakada2019-12-181-1/+0
| | | | This reverts commit 65731a1330ed02691e3c343d2feeb8d0a72af3fd.
* [ruby/io-console] Skip interruptNobuyoshi Nakada2019-12-181-1/+1
| | | | https://github.com/ruby/io-console/commit/8ed5a2bcc3
* [ruby/io-console] Timeout in the child processNobuyoshi Nakada2019-12-171-2/+3
| | | | https://github.com/ruby/io-console/commit/b8411689a5
* [ruby/io-console] Use IO.console instead of STDINNobuyoshi Nakada2019-12-171-3/+4
| | | | https://github.com/ruby/io-console/commit/9e3ec5b936
* Squelch filter-branch warning and sleepingNobuyoshi Nakada2019-12-171-0/+2
|
* [rubygems/rubygems] Move `require uri` to source_listmihaibuzgau2019-12-172-1/+2
| | | | https://github.com/rubygems/rubygems/commit/c6b4df5bfc
* Use while instead of loopKazuhiro NISHIYAMA2019-12-171-12/+4
|
* disable assertion.Koichi Sasada2019-12-171-1/+1
| | | | | This assertion is not needed because we found the bug. ba11a74745.
* Skip interruptible raw mode test on Travis-CINobuyoshi Nakada2019-12-171-0/+1
|
* [rubygems/rubygems] require `uri` in source.rbmihaibuzgau2019-12-171-0/+1
| | | | https://github.com/rubygems/rubygems/commit/8de4d0272e
* convert macros into inline functions卜部昌平2019-12-171-10/+13
| | | | For better readability.
* Remove an unnecessary variableaycabta2019-12-171-6/+1
|
* Remove unnecessary double bangs from Pathname#root?Masataka Pocke Kuwabara2019-12-171-1/+1
|
* [ruby/logger] Fixed leaked tempfileNobuyoshi Nakada2019-12-171-1/+1
| | | | https://github.com/ruby/logger/commit/fb3eff153f
* Remove unnecessary branchesaycabta2019-12-171-24/+6
|
* [ruby/io-console] bump up to 0.5.2Nobuyoshi Nakada2019-12-171-1/+1
|
* [ruby/io-console] Use TCSANOW to prevent from discarding the input bufferYusuke Endoh2019-12-171-1/+1
| | | | | | | | TCSAFLUSH discards the buffer read before the mode change, which makes IRB ignore the buffer input immediately after invoked. TCSANOW preserves the buffer. https://github.com/ruby/io-console/commit/b362920182
* [ruby/io-console] Disable implementation-defined special control charactersNobuyoshi Nakada2019-12-172-1/+11
| | | | | | In raw mode with interrupt enabled. https://github.com/ruby/io-console/commit/e9e8e3ff17
* [ruby/io-console] Added the test for intr optionNobuyoshi Nakada2019-12-171-0/+36
| | | | https://github.com/ruby/io-console/commit/4f01db102d
* [ruby/io-console] Removed dead codeNobuyoshi Nakada2019-12-171-1/+0
| | | | https://github.com/ruby/io-console/commit/a49462ed97
* Fix return condition according to the condition to skipaycabta2019-12-171-1/+1
|
* [ruby/reline] Implement completion_append_characterThomas Leitner2019-12-172-2/+5
| | | | | | | There is already the possibility to set Reline.completion_append_character. However, it is not used by the line editor. https://github.com/ruby/reline/commit/ab798931b9
* [ruby/reline] Disable any implementation-defined special control charactersNobuyoshi Nakada2019-12-171-5/+1
| | | | | | Including dsusp, lnext, and so on. https://github.com/ruby/reline/commit/a44abe586b
* add debug counter to count `call` reusing cases.Koichi Sasada2019-12-172-0/+2
|
* Support change search directionaycabta2019-12-172-7/+94
|
* Support forward-search-history by C-saycabta2019-12-174-26/+102
|
* Added a test for [Bug #16159]Nobuyoshi Nakada2019-12-171-0/+6
|
* Reduce tzset callsNobuyoshi Nakada2019-12-171-7/+10
| | | | Set up-to-date flag always when calling tzset().
* time.c (find_time_t): fix round-to-zero bugYusuke Endoh2019-12-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | `find_time_t` did not work correctly for year older than the Epoch because it used C's integer division (which rounds negative to zero). For example, `TIme.new(1933)` returned a wrong time whose year is 1922 in Asia/Kuala_Lumpur because there is no 00:00:00 1st Jan. 1933 in the time zone. ``` $ TZ=Asia/Kuala_Lumpur ruby -e 'p Time.new(1933)' 1932-12-31 00:00:00 +0700 ``` This change fixes the issue by using `DIV` macro instead of `/`. Now `Time.new(1933)` returns a time in 1933. ``` $ TZ=Asia/Kuala_Lumpur ruby -e 'p Time.new(1933)' 1933-01-01 00:20:00 +0720 ``` [Bug #16159]
* close datasocket on stor of server sideNARUSE, Yui2019-12-171-1/+1
|
* ensure to close the data connection [Bug #16413]NARUSE, Yui2019-12-171-16/+28
|
* Check wether Readline.completion_append_character= existsaycabta2019-12-171-1/+1
|