summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-18vm_insnhelper.h: rename CI_SET_FASTPATH to CC_SET_FASTPATHk0kubun
because it's actually setting fastpath to cc instead of ci since r51903. vm_insnhelper.c: ditto mjit_compile.c: ditto tool/ruby_vm/views/_mjit_compile_send.erb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18pty.c: typonobu
* ext/pty/pty.c (chfunc): fix a typo of an operator. pointed out by jaruga (Jun Aruga) at [ruby-core:89058]. [Bug #15116] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18Lazy Enumerator reduce intermediate array creationnobu
[ruby-core:87907] [Bug #14908] [Fix GH-1912] From: Anmol Chopra <chopraanmol1@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18Merge upstream revision of rubygems/rubygems.hsbt
This commits includes tiny bugfix and new features listed here: * Add --re-sign flag to cert command by bronzdoc: https://github.com/rubygems/rubygems/pull/2391 * Download gems with threads. by indirect: https://github.com/rubygems/rubygems/pull/1898 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18Tests of Enumerator::Yielder#yield with multiple argumentsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18* 2018-09-18svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18pty.c: more difensivenobu
* ext/pty/pty.c (chfunc): should not close the slave fd if it is 0..2. [ruby-core:89043] [Bug #15116] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-17* 2018-09-17svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-17common.mk: ruby tool/update-deps --fixk0kubun
tool/update-deps: tweak the comment to make sure it should be built in the source directory, because building ruby outside source directory failed on my trial. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16Propagate subprocess timeout scale option to worker processesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16addr2line.c: fix -Wmaybe-uninitializedk0kubun
../addr2line.c: In function ‘fill_lines’: ../addr2line.c:709:8: warning: ‘file’ may be used uninitialized in this function [-Wmaybe-uninitialized] if (file != NULL) { ^ ../addr2line.c:535:11: warning: ‘filesize’ may be used uninitialized in this function [-Wmaybe-uninitialized] off_t filesize; ^~~~~~~~ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16lib/matrix: Fix potential bug of Vector#angle_withmarcandre
Could happen for some linearly dependent vectors. Patch by Vasiliy Petrov. [Fix GH-1803] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16Alias Struct#select as Struct#filter. Patch by Kenichi Kamiya.marcandre
[Fix GH-#1862] [#1784] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16node.c: Typo fix. Patch by Shuichi Tamayose. [ci skip] [Fix GH-1880]marcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16[DOC] Improve String#strip documentation.marcandre
Patch by Josh Goldberg. [Fix GH-1933] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16Add some missing documentation to Queue#{close|deq} [ci skip]marcandre
Patch by Lars Kanis. [Fix GH-1949] * Describe the impact of Queue#close to Queue#deq . git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16array.c: Optimize rb_ary_and. Patch by Stefan Schüßler. [Fix GH-1938]marcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15* 2018-09-16svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15encoding.c: check external encodingnobu
* encoding.c (rb_enc_get_index): external encoding may not be Data object. [ruby-core:89016] [Bug #15122] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15Work on Benchmark::Tms documentation [ci skip]nobu
[ruby-core:88874] [Bug #15080] From: Richard Wardin <shalmezad@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15get rid of newer syntax for old versionsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15Fix issues detected by code analysis tool (mainly Coverity).nobu
* Fix leaked storage in addr2line.c. * Fix for "top_root" leaking the resource. [Fix GH-1956] From: Jun Aruga <jaruga@redhat.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15Expand spec files to realpathsnobu
* spec/mspec/lib/mspec/utils/script.rb (MSpecScript#entries): expand the given spec path to the realpath, not to require a library by realpath and symbolic link path from the spec file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15rid of warnings [Fix GH-1953]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15test_sprintf.rb: test for %pnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15* 2018-09-15svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15Use opt_{aref,aset} over opt_{aref,aset}_withnobu
* compile.c (iseq_compile_each0): Use `opt_aref`/`opt_aset` over `opt_aref_with`/`opt_aset_with` when frozen_string_literal: true, not to resurrect the index string on non-Hash receiver. [Fix GH-1957] From: chopraanmol1 <chopraanmol1@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14Partly reverted for ruby-style.el.hsbt
Revert "Removed old elisp files. New upstream repository was moved https://github.com/ruby/elisp." This reverts commit 7eedd308b841e7b8eb4bc36211d28faf3521ee92. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14Added entries for lldb files in misc directory.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14Removed old elisp files. New upstream repository was moved ↵hsbt
https://github.com/ruby/elisp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14PRI_64_PREFIX "u" is called PRIu64shyouhei
See also ISO9899:1999 section 7.8.1 paragraph 3. The #ifndef is for C compilers older than C99. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14forgot to expand tabs [ci skip]shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14* 2018-09-14svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-14move ADD_PC around (take 2)shyouhei
Now that we can say for sure if an instruction calls a method or not internally, it is now possible to reroute the bugs that forced us to revert the "move PC around" optimization. First try: r62051 Reverted: r63763 See also: r63999 ---- trunk: ruby 2.6.0dev (2018-09-13 trunk 64736) [x86_64-darwin15] ours: ruby 2.6.0dev (2018-09-13 trunk 64736) [x86_64-darwin15] last_commit=move ADD_PC around (take 2) Calculating ------------------------------------- trunk ours so_ackermann 1.884 2.278 i/s - 1.000 times in 0.530926s 0.438935s so_array 1.178 1.157 i/s - 1.000 times in 0.848786s 0.864467s so_binary_trees 0.176 0.177 i/s - 1.000 times in 5.683895s 5.657707s so_concatenate 0.220 0.221 i/s - 1.000 times in 4.546896s 4.518949s so_count_words 6.729 6.470 i/s - 1.000 times in 0.148602s 0.154561s so_exception 3.324 3.688 i/s - 1.000 times in 0.300872s 0.271147s so_fannkuch 0.546 0.968 i/s - 1.000 times in 1.831328s 1.033376s so_fasta 0.541 0.547 i/s - 1.000 times in 1.849923s 1.827091s so_k_nucleotide 0.800 0.777 i/s - 1.000 times in 1.250635s 1.286295s so_lists 2.101 1.848 i/s - 1.000 times in 0.475954s 0.541095s so_mandelbrot 0.435 0.408 i/s - 1.000 times in 2.299328s 2.450535s so_matrix 1.946 1.912 i/s - 1.000 times in 0.513872s 0.523076s so_meteor_contest 0.311 0.317 i/s - 1.000 times in 3.219297s 3.152052s so_nbody 0.746 0.703 i/s - 1.000 times in 1.339815s 1.423441s so_nested_loop 0.899 0.901 i/s - 1.000 times in 1.111767s 1.109555s so_nsieve 0.559 0.579 i/s - 1.000 times in 1.787763s 1.726552s so_nsieve_bits 0.435 0.428 i/s - 1.000 times in 2.296282s 2.333852s so_object 1.368 1.442 i/s - 1.000 times in 0.731237s 0.693684s so_partial_sums 0.616 0.546 i/s - 1.000 times in 1.623592s 1.833097s so_pidigits 0.831 0.832 i/s - 1.000 times in 1.203117s 1.202334s so_random 2.934 2.724 i/s - 1.000 times in 0.340791s 0.367150s so_reverse_complement 0.583 0.866 i/s - 1.000 times in 1.714144s 1.154615s so_sieve 1.829 2.081 i/s - 1.000 times in 0.546607s 0.480562s so_spectralnorm 0.524 0.558 i/s - 1.000 times in 1.908716s 1.792382s git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13iseq.c: prefix rb_ to non-static iseq functionsk0kubun
I assume we always prefix rb_ to non-static functions to avoid conflict. These functions are not exported and safe to be renamed. iseq.h: ditto compile.c: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13vm_insnhelper.h: drop OPT_CALL_FASTPATH macro supportk0kubun
because cc->call is NULL by default and it is not overridden by vm_search_super_method if OPT_CALL_FASTPATH is 0. So this macro is not just a switch for optimization but now it's mandatory. vm_insnhelper.c: cosmetic change. Use boolean-ish `TRUE` instead of 1 to specify `enabled` flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13Remove old ruby-mode.elkazu
Use emacs bundled ruby-mode.el instead. [Feature #6823] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13warn unused blocks with Enumerable#all? any? one? none?nobu
[Fix GH-1953] From: Koji Onishi <fursich0@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13Make qsort_r() flavor detecting work if qsort_r() is a macronobu
On FreeBSD we're going to switch to the GNU-ish version of qsort_r(). POSIX is also considering standardizing that one. To prevent faulty calls, we have a macro in place to throw a compiler error if a BSD-style qsort_r() call is performed on a patched system. Such an approach tends to be permitted by POSIX. The configure check we have in Ruby would fail if qsort_r() is a function macro. Add parentheses around it to prevent macro expansion and force the declaration of a prototype. [Fix GH-1954] From: Ed Schouten <ed@nuxi.nl> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13thread.c: fix -Wformat warning where uint64_t is not unsigned longnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13Revert "vm_insnhelper.h: simplify EXEC_EC_CFP implementation"k0kubun
This reverts commit r64711, because EXEC_EC_CFP on JIT-ed code does not call jit_func with the patch when catch_except_p is true. It wasn't intentional. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13thread.c: fix -Wformat warningk0kubun
../thread.c:1219:18: warning: format specifies type 'unsigned long' but the argument has type 'rb_hrtime_t' (aka 'unsigned long long') [-Wformat] end, now); ^~~ ../thread.c:1219:23: warning: format specifies type 'unsigned long' but the argument has type 'rb_hrtime_t' (aka 'unsigned long long') [-Wformat] end, now); ^~~ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13vm_insnhelper.h: simplify EXEC_EC_CFP implementationk0kubun
and possibly memory access for iseq->body may be reduced. No significant impact for performance on Optcarrot. * before fps: 55.03865935187656 fps: 57.16854675983188 fps: 57.672458407661765 fps: 58.28989837869383 fps: 58.80503815099268 fps: 59.068054176528534 fps: 59.55736806358244 fps: 61.01018920533034 fps: 63.34167049232186 fps: 65.20575018321766 fps: 65.46758316561318 * after fps: 55.21860411005677 fps: 55.34840351179166 fps: 58.23666596747484 fps: 59.71987124578901 fps: 61.131485120234935 fps: 61.279905164649485 fps: 61.66060774175459 fps: 64.11215576508765 fps: 64.63699742853154 fps: 65.28260058920769 fps: 65.85447796482678 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13node.h: removed unused macrosnobu
* node.h (enum node_type): removed unused macros which redefine the same name enum values, and probably had ended the historical role. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13move canary-related statements into macrosshyouhei
This is mostly cosmetic. Should generate a slightly readable vm.inc output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13appveyor.yml: increase timeout for vsk0kubun
vs140 tends to die with 10s timeout on TestThreadQueue#test_queue_with_trap https://ci.appveyor.com/project/ruby/ruby/build/9610/job/di9durc5rv0dwhor https://ci.appveyor.com/project/ruby/ruby/build/9598/job/t7wugyn1sm57lbw3 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-13thread.c (rb_thread_atfork): reinitialize current th->interrupt_locknormal
Another thread may be holding th->interrupt_lock while our current thread calls fork. Therefore we must reinitialize our own th->interrupt_lock in the child process because the owner of the lock is only in the parent. The original parent process is unaffected. We cannot destroy the lock while it has an unknown state, either, so some implementations can leak a small amount of memory, here (NPTL won't). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-12fiber: fix crash on GC after forkingnormal
Remove the remainder of ROOT_FIBER_CONTEXT use and unnecessary differences between the root and non-root fiber. This makes it easier to follow new root fiber at fork time. Multiple sources of truth often leads to bugs, as in this case. We can determinte root fiber by checking a fiber against the root_fiber of its owner thread. The new `fiber_is_root_p' function supports that. Now, we can care only about free-ing/recycling/munmap-ing stacks as appropriate. [Bug #15050] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e