summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-06Ignore FDs kept by system libraryNobuyoshi Nakada
`getaddrinfo` on macOS seems keeping FDs to query host names internally.
2020-05-06Fixed leaked fdsNobuyoshi Nakada
2020-05-06leakchecker.rb: search /dev/fd tooNobuyoshi Nakada
It is more popular than /proc/self/fd.
2020-05-06[DOC] Removed no longer meaningful part [ci skip]Nobuyoshi Nakada
As now `Object#===` document is separated from `rb_equal`, this note no longer makes sense.
2020-05-06Removed unnecessary duplicate codeNobuyoshi Nakada
`rb_equal` may be inlined in `case_equal` and actually same code is generated twice.
2020-05-06Generalize the explanation of the side effect of the rb_equal() optimizationBenoit Daloze
2020-05-06Document rb_equal() and clarify the relation with Kernel#===Benoit Daloze
* Multiple times people have been confused and believed rb_equal() called #=== but it does not, it calls #==. * This optimization has a subtle side effect for Float::NAN, which is now documented.
2020-05-06Remove redundant check in rb_obj_cmp()Benoit Daloze
* rb_equal() already checks using `obj1 == obj2`.
2020-05-06* 2020-05-06 [ci skip]git
2020-05-05Improve documentation for Enumerator#next, next_values, peek and peek_values.Marc-Andre Lafortune
[DOC] [#16829]
2020-05-05Fix gemspecMarc-Andre Lafortune
2020-05-05[ruby/uri] Check if DN existsNobuyoshi Nakada
https://bugs.ruby-lang.org/issues/16830 https://github.com/ruby/uri/commit/b4bf8c1217
2020-05-05envutil.rb: Also alias to #nameNobuyoshi Nakada
2020-05-05* 2020-05-05 [ci skip]git
2020-05-04Output compaction stats in one loop / eliminate 0 countsAaron Patterson
We only need to loop `T_MASK` times once. Also, not every value between 0 and `T_MASK` is an actual Ruby type. Before this change, some integers were being added to the result hash even though they aren't actual types. This patch omits considered / moved entries that total 0, cleaning up the result hash and eliminating these "fake types".
2020-05-04Bison 3.5.91 now defaults parse.error to "simple"Nobuyoshi Nakada
2020-05-04Bison 3.59.1 folds yydestruct function headerNobuyoshi Nakada
2020-05-04Fix indentationKazuki Tsujimoto
2020-05-04Fix pseudo code for NODE_ARYPTN, NODE_HSHPTNKazuki Tsujimoto
Due to the change in 3893a8dd42fb3bbd71750648c3c0de118955a6ea, there is no longer a need to put true/false.
2020-05-04Suppress warnings by gcc 10.1.0-RC-20200430Nobuyoshi Nakada
* Folding results should not be empty. If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn` wouldn't execute and `ncs` elements are not initialized. ``` enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] 557 | for (i = 0; i < ncs[0]; i++) { | ~~~^~~ ``` * Cast to `enum yytokentype` Additional enums for scanner events by ripper are not included in `yytokentype`. ``` ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion] ```
2020-05-03Revert 0776198486 for Solaris debugTakashi Kokubun
For some reason 0776198486 didn't fail https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200503T230004Z.log.html.gz even while it was before 9aa5fe1bf8. Anyway, there's no need to keep the change anymore.
2020-05-03Test no .dSYM on macOSTakashi Kokubun
I think 9aa5fe1bf89db8cd215b24d8ddfb668714681b83 helps this issue too.
2020-05-03Split compile and link for MinGW supportTakashi Kokubun
MinGW test_jit fails with no error message. Perhaps linker flags should not be passed when compilation is happening. Anyway splitting these stages doesn't matter for performance. So let me just split it to fix the issue. Probably this helps Solaris's issue too.
2020-05-03Debug Solaris's MJIT failureTakashi Kokubun
using -Winvalid-pch https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz
2020-05-03Travis s390x-linux is too unstableTakashi Kokubun
It has caused errors by ENOSPC like https://travis-ci.org/github/ruby/ruby/jobs/682520961 too often. I cleared all cache of Travis yesterday, but it didn't help it. Until somebody figures out how to fix it, let me exclude it from CI status reports to avoid false alerts.
2020-05-04Fixed constant initializerNobuyoshi Nakada
An expression using `static const` value seems not considered as `static const` by Visual C.
2020-05-04* 2020-05-04 [ci skip]git
2020-05-04Make int-pair-to-real conversion more portableNobuyoshi Nakada
And utilize more bits even if DBL_MANT_DIG > 53.
2020-05-03Update to ruby/spec@032ee74Benoit Daloze
2020-05-03Update to ruby/mspec@d419d0bBenoit Daloze
2020-05-03Support cc_added_args againTakashi Kokubun
This support was accidentally removed in 818d6d33368a396d9cd3d1a34a84015a9e76c5c8.
2020-05-03Skip pdb corruption on Visual Studio 2015 as wellTakashi Kokubun
It turned out that the pdb corruption happens on Visual Studio 2015 as well. https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729
2020-05-03Skip only .dSYM cleanup on macOSTakashi Kokubun
Fix https://github.com/ruby/ruby/runs/636020145 without skipping too many tests. It seems that .c -> .o with debug flags and .o -> .so without debug flags did not generate .dSYM but now .c -> .so with debug flags seems to generate a .dSYM directory. As --jit-debug should not be used by normal users, let me skip implementing the removal for now.
2020-05-03Optimize sin/cosNobuyoshi Nakada
GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once, when the both are closely called on the same argument. Similar optimization is possible for `__sinpi(x)` and `__cospi(x)` if available, which calculate arguments in radian, i.e. `sin(x*M_PI)` and `cos(x*M_PI)` respectively.
2020-05-03Show unreserved bits onlyNobuyoshi Nakada
`RUBY_FL_SEEN_OBJ_ID` can be set by #object_id.
2020-05-02Avoid infinite times of JIT compactionTakashi Kokubun
It's to avoid memory leak for actual usage (because they don't get unloaded properly), but also for fixing CI timed out due to JIT compaction taking too long time on --jit-wait (which runs every time) http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2911601
2020-05-03spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limitYusuke Endoh
Android is Linux, but the clock resolution is 10 milliseconds. I think that 1 microsecond is too strict for embedded environment. This change laxes the limit to 10 milliseconds.
2020-05-03* 2020-05-03 [ci skip]git
2020-05-03Disable -Wswitch warning when VM_CHECK_MODENobuyoshi Nakada
2020-05-03DO NOT CORRUPT TYPE FLAGSNobuyoshi Nakada
2020-05-03Fixed missing `should`Nobuyoshi Nakada
2020-05-02Rename arguments for ObjectSpace::WeakMap#[]= for clarityBenoit Daloze
2020-05-02append newline at EOF [ci skip]Nobuyoshi Nakada
2020-05-02Command failed to run just failsNobuyoshi Nakada
The exact exit status value of command failed to run is not a spec, but a platform dependent implementation detail. Just it is not "success".
2020-05-02Fix ObjectSpace::WeakMap#key? to work if the value is nilBenoit Daloze
* Fixes [Bug #16826]
2020-05-02Update to ruby/spec@d394dfdBenoit Daloze
2020-05-02Update to ruby/mspec@ee29a34Benoit Daloze
2020-05-02internal/process.h: forgot to guard "#ifdef HAVE_WORKING_FORK"Yusuke Endoh
2020-05-02internal/process.h: add a no-warning simple wrapper for fork(2)Yusuke Endoh
As fork(2) is deprecated, its calls must be guarded by `COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`. All usages of fork(2) in process have been alread guarded. A new call to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270. This caused a build failure on Solaris 11. It may hide a bug to guard big code unnecessarily, so this change introduces a simple wrapper "rb_fork" whose definition is guarded, and replaces all calls to fork(2) with the wrapper function.
2020-05-02* 2020-05-02 [ci skip]git