summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-09Revert "Reverting node marking until I can fix GC problem."Aaron Patterson
This reverts commit 092f31e7e23c0ee04df987f0c0f979d036971804.
2019-09-10* 2019-09-10 [ci skip]git
2019-09-10Support multibyte inputNobuyoshi Nakada
2019-09-10Use IO#getbyteNobuyoshi Nakada
2019-09-10Use IO#getch to read one char in raw modeNobuyoshi Nakada
2019-09-09add minimaist C++ check卜部昌平
This is a test extension so we basically want test failures rather than a configure breakage but if there is no C++ compiler, we need no test at all because there will be no chance for the tested header file to be used later. This makes it possible to build the ruby binary without any C++ compiler installed in a build environment. Notes: Merged: https://github.com/ruby/ruby/pull/2434
2019-09-09workaround for C++ 98 const union problem.卜部昌平
Not the case of recent compilers, but compilers before C++11 rejected ruby.h, like https://ci.appveyor.com/project/ruby/ruby/builds/27225706/job/qjca7dpe204dytbd This is supposedly because a struct with a member qualified with a const effectively deletes its default copy constructor, which is considered as being user-defined somehow. Not sure where exactly is the phrase in the C++98 standard who allows such C / C++ incompatibility though. Notes: Merged: https://github.com/ruby/ruby/pull/2434
2019-09-09static member variables must explictly be initialized卜部昌平
These variables then get their room for storage. See also https://github.com/ruby/ruby/runs/214042030 Notes: Merged: https://github.com/ruby/ruby/pull/2434
2019-09-09add missing dependency for .travis.yml卜部昌平
Notes: Merged: https://github.com/ruby/ruby/pull/2434
2019-09-09Revert "save committers' weekend from CI failures"卜部昌平
This reverts commit 53d21087da078cf999cc4757b03b2ff0fab4c2cf. Notes: Merged: https://github.com/ruby/ruby/pull/2434
2019-09-09Revert "Support timeout for Addrinfo"Masaki Matsushita
This reverts commit 6382f5cc91ac9e36776bc854632d9a1237250da7. test failed on Solaris.
2019-09-09Make test-all and test-spec runnable on AndroidYusuke Endoh
Calling some syscall functions such as Dir.chroot causes SIGSYS instead of EPERM on Android. This change skips all tests that stops the test-suite run.
2019-09-09Fix a typo [ci skip]Kazuhiro NISHIYAMA
2019-09-09Reline: Fix wrong variable nameLars Kanis
This raised a NameError before. Notes: Merged: https://github.com/ruby/ruby/pull/2438
2019-09-09Fix expected ip_portMasaki Matsushita
2019-09-09Fix service name for testMasaki Matsushita
change service name to fix failed test on Solaris
2019-09-09Fix domain name for testMasaki Matsushita
2019-09-08Fix invalid keyword argument separation warning for delegating callsJeremy Evans
This removes an invalid keyword argument separation warning for code such as: ```ruby def foo(arg) arg end kw = {} foo(*[1], **kw) ``` This warning was caused because the remove_empty_keyword_hash was set based on a comparison with two variables, and in this case, one of the variables was updated after the check and we need to use the updated variable. Simplify things by just inlining the comparison.
2019-09-09Support timeout for AddrinfoMasaki Matsushita
Addrinfo.getaddrinfo and .foreach now accepts :timeout in seconds as a keyword argument. If getaddrinfo_a(3) is available, the timeout will be applied for name resolution. Otherwise, it will be ignored. Socket.tcp accepts :resolv_timeout to use this feature.
2019-09-08Add keyword argument separation tests for implicit/explicit super callsJeremy Evans
No code changes are necessary, but we didn't have as extensive tests for these calls previously.
2019-09-09* 2019-09-09 [ci skip]git
2019-09-09Use target-specific variable instead of a conditional [ci skip]Nobuyoshi Nakada
And test-rubyspec is deprecated.
2019-09-08make-snapshot: -git option is no longer provided [ci skip]Nobuyoshi Nakada
2019-09-08Improve Proc#to_s specsBenoit Daloze
2019-09-08Removed useless braces to suppress a warningNobuyoshi Nakada
2019-09-08Behave ESC key correctly when vi command modeaycabta
2019-09-08compile.c (compile_hash): rewrite keyword splat handlingYusuke Endoh
and add some comments. (I confirm that `foo(**{})` allocates no hash object.)
2019-09-08compile.c (compile_hash): rewrite the compilation algorithmYusuke Endoh
This is a similar refactoring to 8c908c989077c74eed26e02912b98362e509b8a3, but the target is compile_hash.
2019-09-08Remove .document and .gitignore from file list of rdoc.gemspecaycabta
2019-09-08compile.c (NODE_OP_ASGN1): Remove unneeded DECL_ANCHORYusuke Endoh
2019-09-08make-snapshot: default to the toplevel directoryNobuyoshi Nakada
As this tool has been intended to use in a working directory, assume that the toplevel directory is under the VCS, and SVN will no longer be canonical.
2019-09-08parse.y: Use the correct alias for brace flag of hash literalYusuke Endoh
nd_alen and nd_brace is the same field, but nd_brace is more suitable for this case.
2019-09-08compile.c (keyword_node_p): Refactor out keyword node checksYusuke Endoh
2019-09-08compile.c (compile_hash): Remove redundant check for NODE_ZLISTYusuke Endoh
NODE_ZLIST case is handled in compile_hash, so iseq_compile_each0 doesn't have to do the same check redundantly.
2019-09-08compile.c (compile_hash): Simplify the keyword handlingYusuke Endoh
The length of NODE_LIST chain in NODE_HASH is always even because it represents key-value pairs. There is no need to check for the odd-length case.
2019-09-08compile.c (compile_hash): don't add a temporal array to mark_aryYusuke Endoh
The array is just for a temporal buffer to create a hash, not stored in the final iseq.
2019-09-08compile.c (compile_array): undef a temporal macroYusuke Endoh
2019-09-08* 2019-09-08 [ci skip]git
2019-09-08Touch copied cache files to make tarballs stableNobuyoshi Nakada
2019-09-08Suppress detached head warningNobuyoshi Nakada
2019-09-07Avoid defining DISPATCH_ARCH_DEPEND_WAY macroTakashi Kokubun
when it's not used. This macro is not used when it's direct threaded code. This patch is purely for readability and has no impact for any behavior.
2019-09-07* remove trailing spaces. [ci skip]git
2019-09-07compile.c (compile_array): rewrite the compilation algorithmYusuke Endoh
The original code looks unnecessarily complicated (to me). Also, it creates a pre-allocated array only for the prefix of the array. The new code optimizes not only the prefix but also the subsequence that is longer than 0x40 elements. # not optimized 10000000.times { [1+1, 1,2,3,4,...,63] } # 2.12 sec. # (1+1; push 1; push 2; ...; puts 63; newarray 64; concatarray) # optimized 10000000.times { [1+1, 1,2,3,4,...,63,64] } # 1.46 sec. # (1+1; newarray 1; putobject [1,2,3,...,64]; concatarray)
2019-09-07compile.c (compile_hash): refactoringYusuke Endoh
The same refactoring as to b601b13c7267889bf394146353c5f2b0eb488278.
2019-09-07compile.c (compile_array): refactoringYusuke Endoh
"popped" case can be so simple, so this change moves the branch to the first, instead of scattering `if (popped)` branches to the main part. Also, the return value "len" is not used. So it returns just 0 or 1.
2019-09-07armv7l and armv7l are the same platform, generalize to armv7Benoit Daloze
[Bug #16007]
2019-09-07Exit gently if no VCS found but --suppress_not_found is givenNobuyoshi Nakada
2019-09-07Removed no longer used variableNobuyoshi Nakada
2019-09-07compile.c: Separate compile_list to two functions for Array and HashYusuke Endoh
compile_list was for the compilation of Array literal and Hash literal. I guess it was originally reasonable to handle them in one function, but now, compilation of Array is very different from Hash. So the function was complicated by many branches for Array and Hash. This change separates the function to two ones for Array and Hash.
2019-09-07compile.c (compile_list): allow an odd-length hidden array literalYusuke Endoh
An array literal [1,2,...,301] was compiled to the following iseq: duparray [1,2,...,300] putobject [301] concatarray The Array literal optimization took every two elements maybe because it must handle not only Array but also Hash. Now the optimization takes each element if it is an Array literal. So the new iseq is: duparray [1,2,...,301].