aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test/ruby/test_thread.rb: use safe navigation operator.kazu2018-11-231-5/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* prepare for Unicode 11.0.0 updateduerst2018-11-231-4/+3
| | | | | | | | | - enc/unicode/case-folding.rb: - Convert unpredicted case to actual flag setting - Eliminate an unused variable - Change a variable name to avoid a warning git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* split each assert_nothing_raisednobu2018-11-231-3/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: revalidate fptr->fd after rb_io_wait_readablenormal2018-11-221-3/+13
| | | | | | | | | | | | | fptr->fd may become -1 while GVL is released in rb_wait_for_single_fd, so we must check it after reacquiring GVL. This should avoid EBADF errors exposed by making pipes non-blocking by default: http://ci.rvm.jp/results/trunk-test@ruby-sky3/1473710 [Bug #14968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-23svn2018-11-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: disable nonblocking-by-default on win32normal2018-11-223-7/+23
| | | | | | | | | | | | Perhaps this fixes test failures reported by Greg and k0kubun. However, the failure of certain tests to handle non-blocking I/O seems to indicate pre-existing problems on win32 platforms. Somebody knowledgeable about win32 should be able to fix it. [ruby-core:89973] [ruby-core:89976] [ruby-core:89977] [Bug #14968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: avoid running copy job handler after ISeq GCk0kubun2018-11-222-14/+15
| | | | | | like this http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1471633 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Wait accept is ready also on Solarisnaruse2018-11-221-1/+1
| | | | | | https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20181121T212405Z.diff.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use File.expand_path("~username") instead of ENV["HOME"]naruse2018-11-221-2/+1
| | | | | | | | | File.expand_path("~username") uses getpwnam() independently from Dir.home. [Bug #15324] From: Chris Seaton <chris@chrisseaton.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/init.c (rsock_socket0): non-blocking for non-SOCK_NONBLOCKnormal2018-11-221-0/+1
| | | | | | | | | We need to make sockets non-blocking for systems without SOCK_CLOEXEC/SOCK_NONBLOCK macros at all. [ruby-core:89965] [Bug #14968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-11-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r63030nobu2018-11-222-2/+4
| | | | | | | * array.c (rb_ary_collect): no longer splat sole array for lambda. [ruby-core:89734] [Bug #15285] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io + socket: make pipes and sockets nonblocking by defaultnormal2018-11-2214-46/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | All normal Ruby IO methods (IO#read, IO#gets, IO#write, ...) are all capable of appearing to be "blocking" when presented with a file description with the O_NONBLOCK flag set; so there is little risk of incompatibility within Ruby-using programs. The biggest compatibility risk is when spawning external programs. As a result, stdin, stdout, and stderr are now always made blocking before exec-family calls. This change will make an event-oriented MJIT usable if it is waiting on pipes on POSIX_like platforms. It is ALSO necessary to take advantage of (proposed lightweight concurrency (aka "auto-Fiber") or any similar proposal for network concurrency: https://bugs.ruby-lang.org/issues/13618 Named-pipe (FIFO) are NOT yet non-blocking by default since they are rarely-used and may introduce compatibility problems and extra syscall overhead for a common path. Please revert this commit if there are problems and if I am afk since I am afk a lot, lately. [ruby-core:89950] [Bug #14968] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: support 32-bit builds on x86-64 systemsnormal2018-11-221-1/+5
| | | | | | Because RAM is still expensive :< git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Enable refinements at Object#respond_to?nobu2018-11-224-14/+44
| | | | | | | | [Feature #15327] [Fix GH-2020] From: osyo-manga <manga.osyo@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Enable refinements to public_send.nobu2018-11-224-3/+64
| | | | | | | | [Feature #15326] [Fix GH-2019] From: manga_osyo <manga.osyo@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_archflag.sh: fix bare word in the headernobu2018-11-221-1/+1
| | | | | | [ruby-dev:50674] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gitignore: add mjit_build_dir.c [ci skip]kazu2018-11-221-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gitignore: add .time under coroutine [ci skip]kazu2018-11-221-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gitignore: revert r65834 partially [ci skip]kazu2018-11-221-0/+4
| | | | | | and exclude under coroutine only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Proc#<< and Proc#>>nobu2018-11-224-35/+120
| | | | | | [Feature #6284] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Support any callable when composing Procsnobu2018-11-223-19/+34
| | | | | | | | | | | | | | | | | | * proc.c (proc_compose): support any object with a call method rather than supporting only procs. [Feature #6284] * proc.c (compose): use the function call on the given object rather than rb_proc_call_with_block in order to support any object. * test/ruby/test_proc.rb: Add test cases for composing Procs with callable objects. * test/ruby/test_method.rb: Add test cases for composing Methods with callable objects. From: Paul Mucur <paul@altmetric.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Implement Method#* for Method compositionnobu2018-11-222-0/+59
| | | | | | | | | | | * proc.c (rb_method_compose): Implement Method#* for Method composition, which delegates to Proc#*. * test/ruby/test_method.rb: Add test cases for Method composition. From: Paul Mucur <mudge@mudge.name> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Implement Proc#* for Proc compositionnobu2018-11-222-0/+105
| | | | | | | | | | | * proc.c (proc_compose): Implement Proc#* for Proc composition, enabling composition of Procs and Methods. [Feature #6284] * test/ruby/test_proc.rb: Add test cases for Proc composition. From: Paul Mucur <mudge@mudge.name> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "test_gem_remote_fetcher.rb: give up testing MJIT here"k0kubun2018-11-221-4/+0
| | | | | | | | This reverts commit d12bcfc186f2aea5e83f2f59716958ea12b5c937. pause on --jit-wait looks not working... I'll fix that first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use VirtualAlloc/VirtualProtect/VirtualFree for windows stack allocation.samuel2018-11-221-53/+63
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.ac: On AIX, LDFLAGS must be after -L../.. in TRY_LINK,odaira2018-11-211-2/+2
| | | | | | | not to refer to a system-installed libruby-static.a when configuring the ext libraries git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-22svn2018-11-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* errno.h must be included after config.h because config.h might defineodaira2018-11-212-2/+2
| | | | | | | | | | | _REENTRANT, _THREAD_SAFE, etc., which affect how errno is defined on some architectures * ext/openssl/ossl.h: include errno.h after ruby.h * include/ruby/io.h: include errno.h after ruby/config.h git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_gem_remote_fetcher.rb: give up testing MJIT herek0kubun2018-11-211-0/+4
| | | | | | | | | | because we can't configure timeout for remote fetcher. We've sometimes hit timeout. https://app.wercker.com/ruby/ruby/runs/mjit-test2/5bf5213c183106002857d355?step=5bf530de63e94600071b0785 https://app.wercker.com/ruby/ruby/runs/mjit-test2/5be3d719567ae90007681ed6?step=5be43b3887436a0006d00d21 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge master branch from rubygems/rubygems upstream.hsbt2018-11-21247-1363/+1290
| | | | | | | | | | | | | * Enable Style/MethodDefParentheses in Rubocop https://github.com/rubygems/rubygems/pull/2478 * Enable Style/MultilineIfThen in Rubocop https://github.com/rubygems/rubygems/pull/2479 * Fix required_ruby_version with prereleases and improve error message https://github.com/rubygems/rubygems/pull/2344 * Fix bundler rubygems binstub not properly looking for bundler https://github.com/rubygems/rubygems/pull/2426 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Get rid of variable modifiers of BSD makenobu2018-11-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: get rid of `local` for Solaris shnobu2018-11-212-1/+1
| | | | | | [ruby-dev:50673] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: silence `command -v` outpoutnobu2018-11-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* char is not unsignedshyouhei2018-11-212-33/+34
| | | | | | | | | | It seems that decades ago, ruby was written under assumption that char is unsigned. Which is of course a false assumption. We need to explicitly store a numeric value into an unsigned char variable to tell we expect 0..255 value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: add --disable-fiber-coroutine optionnobu2018-11-214-36/+37
| | | | | | | * configure.ac: add --disable-fiber-coroutine option, and disable it on x86-mingw32 for now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: gather preset variables on mingwnobu2018-11-211-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Show function name based on dladdrnaruse2018-11-201-0/+2
| | | | | | | If there's no dwarf and symbol table, this will be a last resort. (mainly on macOS) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support Universal Binary for macOSnaruse2018-11-201-5/+39
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix indentation.samuel2018-11-206-111/+111
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-21svn2018-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Skip known MJIT random test failuresk0kubun2018-11-204-14/+31
| | | | | | | Let me silence this until I have time to work on them, and make the CI usable for testing other features. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: disable native-fiber for MinGWk0kubun2018-11-205-17/+11
| | | | | | | | | | | | | | | | because it had already been SEGV-ed in pull request'S CI https://ci.appveyor.com/project/ruby/ruby/builds/20427065/job/32oahrcd58b8ubb1 and has never worked on trunk either. Please make sure it does not SEGVs on your MinGW environment or pull request before enabling native fiber on MinGW. appveyor.yml: reverted commits to make CI green with native fiber test/excludes/_appveyor/msys2/TestArray.rb: ditto test/excludes/_appveyor/msys2/TestEnumerable.rb: ditto test/excludes/_appveyor/vs/TestArray.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: do not undefine everything [ci skip]k0kubun2018-11-201-1/+1
| | | | | | | | https://ci.appveyor.com/project/ruby/ruby/builds/20432223/job/yhwbku8dg2s40e9e C:/projects/ruby/test/lib/test/unit.rb:1004: warning: undefining `object_id' may cause serious problems C:/projects/ruby/test/lib/test/unit.rb:1004: warning: undefining `__send__' may cause serious problems git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-11-200-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: exclude TestEnumerable.rb on msys2k0kubun2018-11-204-4/+11
| | | | | | | because it SEGVs on setup like: https://ci.appveyor.com/project/ruby/ruby/builds/20431217/job/97no5h1gqv50k1vf git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: native-fiber crashes Enumeratork0kubun2018-11-201-2/+2
| | | | | | | | | | test on MinGW. https://ci.appveyor.com/project/ruby/ruby/builds/20427662/job/tnnw50opqtj6x0xq https://ci.appveyor.com/project/ruby/ruby/builds/20429129/job/dpgbx5atkxjiwh7q To investigate issues, let's try running this without -j. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make coroutine object directory for each archnobu2018-11-203-9/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/excludes/_appveyor: exclude AppVeyor killerk0kubun2018-11-201-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Change ASMEXT to snobu2018-11-202-2/+2
| | | | | | | By the default of GNU make, .S is used to be compiled with CC, but we have already used .s as ia64.s, and now coroutine/*/Context.s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e