aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* time.c: [DOC] small improvementstomar2019-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-21svn2019-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: [DOC] small fixstomar2019-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* raise FrozenError instead of RuntimeErrorkazu2019-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-20svn2019-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] Refactors documentation for `Forwardable`nobu2019-01-201-4/+3
| | | | | | | | [ruby-core:71281] [Misc #11639] From: Sam Morgan <s_morgan@me.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "mjit_worker.c: try to simplify CC_DLDFLAGS_ARGS"k0kubun2019-01-191-5/+11
| | | | | | | | | This reverts commit 405940234eb7876a063eb7129ca61fcc318a633c. Not working on MinGW https://ci.appveyor.com/project/ruby/ruby/builds/21737578/job/09a2tr94vof6fstt git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Indented here document (<<~) is Ruby 2.3 featurenaruse2019-01-191-26/+26
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: try to simplify CC_DLDFLAGS_ARGSk0kubun2019-01-191-11/+5
| | | | | | assuming that -nostartfiles is just optional for mingw, cygwin, and AIX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: do not use GCC_NOSTDLIB_FLAGS for OpenBSDk0kubun2019-01-191-3/+3
| | | | | | | | | | | OpenBSD's GCC compiler has local extensions that break when `-nostartfiles -nodefaultlibs -nostdlib` is used. From: Jeremy Evans <merch-redmine@jeremyevans.net> [Bug #15548] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-19svn2019-01-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r58345 and r58371.hsbt2019-01-191-13/+70
| | | | | | | | | | | | | | These changes break the behavior of default gems. Bug #13428 says r58345 is reasonable because gemspec file is installed by `to_ruby_for_cache` method. But I revert `to_ruby_for_cache` in rbinstall.rb at r58403. There is no reason that we apply r58345 now. But I'm not sure about gemspec of default gems affects standalone gems. I'm going to investigate it on rubygems/rubygems. [Bug #15500][ruby-core:90867] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Prefer block_given? to iterator?nobu2019-01-186-25/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make-snapshot: get rid of circular dependencynobu2019-01-181-3/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: fix build_os namenobu2019-01-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: use MINIRUBY as BOOTSTRAPRUBY on msysnobu2019-01-181-1/+1
| | | | | | Msys shell may not be able to run a command with a drive letter? git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] mention rb_str_modifynobu2019-01-182-0/+16
| | | | | | [ruby-core:91134] [Bug #15543] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support older BASERUBY for btest.ko12019-01-181-2/+4
| | | | | | | | * bootstraptest/test_insns.rb: check RbConfig::LIMITS to support older BASERUBY. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: use BASERUBY as BOOTSTRAPRUBY if availablenobu2019-01-181-2/+2
| | | | | | MINIRUBY may not be stable enough to run btest, in developing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make-snapshot: make permissions uniformnobu2019-01-171-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-18svn2019-01-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: add --exclude option for install-nodocnobu2019-01-172-6/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Removed old gemspecs of default gems for the Ruby committers.hsbt2019-01-171-0/+5
| | | | | | [Bug #12764][ruby-core:77284] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* reset bound if the size is 0.ko12019-01-171-5/+15
| | | | | | | | | * hash.c (RHASH_AR_TABLE_SIZE_DEC): generally, we need to check all entries to calculate exact "bound" in ar_table, but if size == 0, we can clear bound because there are no active entries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support btest on older ruby.ko12019-01-171-1/+3
| | | | | | | | | | | * bootstraptest/runner.rb (assert_normal_exit): check MJIT first to support btest with ruby ~2.5. btest (bootstraptest) should be enable to run with stable ruby interpreter because modified ruby may not able to run runner.rb and we need to know why (this is why we introduce btest). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-17svn2019-01-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* call rb_str_modify to make a copy unsharednobu2019-01-173-1/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: fix Dir.glob with braces and matching dirshirosaki2019-01-162-0/+18
| | | | | | | | | | | * dir.c (join_path_from_pattern): add the last slash for directory matching. * test/ruby/test_dir.rb (test_glob_recursive_directory): add a test for above. [ruby-core:91110] [Bug #15540] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Strip warnflagsnobu2019-01-161-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r65800nobu2019-01-161-1/+0
| | | | | | | "Makefile.in: reconfig with the original warnflags" It would be unnecessary since r65803 and r65805. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-16svn2019-01-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fixed a typo, missing `$`nobu2019-01-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (rb_hash_bulk_insert_into_st_table): avoid out-of-bounds writemame2019-01-152-1/+19
| | | | | | | | | | | | | | "hash_bulk_insert" first expands the table, but the target size was wrong: it was calculated by "num_entries + (size to buld insert)", but it was wrong when "num_entries < entries_bound", i.e., it has a deleted entry. "hash_bulk_insert" adds the given entries from entries_bound, which led to out-of-bounds write access. [Bug #15536] As a simple fix, this commit changes the calculation to "entries_bound + size". I'm afraid if this might be inefficient, but I think it is safe anyway. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Clarify Array#- and Array#difference documentationnobu2019-01-151-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we are not explicit enough regarding the potentially confusing behavior of `Array#-` and `Array#difference` when it comes to duplicate items within receiver arrays. Although the original documentation for these methods does use an array with multiple instance of the same integers, the explanation for the behavior is actually imprecise. > removing any items that also appear in +other_ary+ Not only does `Array#-` remove any items that also appear in `other_ary` but it also remove any instance of any item in `other_ary`. One may expect `Array#-` to behave like mathematical subtraction or difference when it doesn't. One could be forgiven to expect the following behavior: ```ruby [1,1,2,2,3,3,4,4] - [1,2,3,4] => [1,2,3,4] ``` In reality this is the result: ```ruby [1,1,2,2,3,3,4,4] - [1,2,3,4] => [] ``` I hope that I've prevented this potential confusion with the clarifications in this change. I can offer this as evidence of likeliness for confusion: https://twitter.com/olivierlacan/status/1084930269533085696 I'll freely admit I was surprised by this behavior myself since I needed to obtain an Array with only one instance of each item in the argument array removed. [Fix GH-2068] [ci skip] From: Olivier Lacan <hi@olivierlacan.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use `&` instead of `modulo`nobu2019-01-152-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* setbyte / ungetbyte allow out-of-range integersshyouhei2019-01-156-59/+53
| | | | | | | | | | | | * string.c: String#setbyte to accept arbitrary integers [Bug #15460] * io.c: ditto for IO#ungetbyte * ext/strringio/stringio.c: ditto for StringIO#ungetbyte git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "mjit_worker.c: try passing -nostdlib to AIX"k0kubun2019-01-151-2/+2
| | | | | | | | This reverts commit b32fb23083912c37a2601c66531ed786a7c9f3e5. This didn't work on AIX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-15svn2019-01-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress warning: ambiguous first argument; put parentheses or a space even ↵naruse2019-01-151-15/+15
| | | | | | after `/' operator git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update redmine-backporter to catch up Redmine 4.0. [ci skip]nagachika2019-01-141-2/+3
| | | | | | tool/redmine-backporter.rb: change revision resource URL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ast.c: fix missing head part in dynamic literalnobu2019-01-142-1/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: pass -nostdlib when making pch as wellk0kubun2019-01-141-4/+12
| | | | | | [Bug #15513] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: try passing -nostdlib to AIXk0kubun2019-01-141-1/+1
| | | | | | r66812 might have allowed this. Testing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: pass -lgcc to GCC platformsk0kubun2019-01-141-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | using `-nodefaultlibs -nostdlib`. I assume libgcc is needed when we use -nostdlib, and it's linked on some platforms but not linked on some platforms (like aarch64, and possibly AIX as well) as said in https://wiki.osdev.org/Libgcc : > You can link with libgcc by passing -lgcc when linking your kernel with your compiler. You don't need to do this unless you pass the -nodefaultlibs option (implied by -nostdlib) Also note that -nostdlib is not strictly needed (rather implied -nodefaultlibs is problematic for Gentoo like Bug#15513, which will be approached later) but helpful for performance. So I want to keep it for now. [Bug #15522] I'm not trying to add `-nodefaultlibs -nostdlib` for AIX in this commit because AIX RubyCI is dead right now, but I'll try to add them again once RubyCI is fixed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: untangle CC_LIBS nestingk0kubun2019-01-141-5/+5
| | | | | | | | | | This should have no impact. The CC_LIBS was too hard to read for human. I don't remember whether the order of -lmsvcrt and -lgcc matters or not, but I kept that for the best safety. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-01-14svn2019-01-141-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: make VM helpers inlinek0kubun2019-01-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In r66597, both VM and JIT seem to be made slower: ``` $ benchmark-driver benchmark.yml --rbenv 'r66596::before --disable-gems;r66597::after --disable-gems;r66596+JIT::before --disable-gems --jit;r66597+JIT::after --disable-gems --jit' -v --repeat-count 24 r66596: ruby 2.7.0dev (2018-12-28 trunk 66596) [x86_64-linux] r66597: ruby 2.7.0dev (2018-12-28 trunk 66597) [x86_64-linux] r66596+JIT: ruby 2.7.0dev (2018-12-28 trunk 66596) +JIT [x86_64-linux] r66597+JIT: ruby 2.7.0dev (2018-12-28 trunk 66597) +JIT [x86_64-linux] Calculating ------------------------------------- r66596 r66597 r66596+JIT r66597+JIT Optcarrot Lan_Master.nes 55.174 54.620 88.011 85.326 fps Comparison: Optcarrot Lan_Master.nes r66596+JIT: 88.0 fps r66597+JIT: 85.3 fps - 1.03x slower r66596: 55.2 fps - 1.60x slower r66597: 54.6 fps - 1.61x slower ``` This commit makes JIT's situation a little better. But in 2.7 we seem to have some other regressions after that, and this can't still resurrect the 2.6.0's performance. ``` $ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems;after::after --disable-gems;before+JIT::before --disable-gems --jit;after+JIT::after --disable-gems --jit' -v --repeat-count 24 before: ruby 2.7.0dev (2019-01-13 trunk 66808) [x86_64-linux] after: ruby 2.7.0dev (2019-01-13 trunk 66808) [x86_64-linux] last_commit=vm_insnhelper.c: make VM helpers inline before+JIT: ruby 2.7.0dev (2019-01-13 trunk 66808) +JIT [x86_64-linux] after+JIT: ruby 2.7.0dev (2019-01-13 trunk 66808) +JIT [x86_64-linux] last_commit=vm_insnhelper.c: make VM helpers inline Calculating ------------------------------------- before after before+JIT after+JIT Optcarrot Lan_Master.nes 51.710 51.535 83.629 85.486 fps Comparison: Optcarrot Lan_Master.nes after+JIT: 85.5 fps before+JIT: 83.6 fps - 1.02x slower before: 51.7 fps - 1.65x slower after: 51.5 fps - 1.66x slower ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc: ignore gemspec filesnobu2019-01-132-1/+2
| | | | | | [ruby-core:91067] [Bug #15531] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc: fixup the test for r66806nobu2019-01-131-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc: ignore garbage filesnobu2019-01-131-1/+3
| | | | | | | * lib/rdoc/options.rb (RDoc::Options#init_ivars): exclude backup files by default. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e