summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-20should propagate V to sub makeusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-20goruby build was brokenusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-20* 2018-05-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-20get rid of unused variable warning.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-19iseq.c: Fix segfault when debug is not 0yui-knk
* iseq.c (get_insn_info_succinct_bitvector): If VM_CHECK_MODE is 0, `body->insns_info.positions` is freed in `rb_iseq_insns_info_encode_positions`. Print `position` only when VM_CHECK_MODE is set. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-19vm_core.h: Remove duplicate declarationyui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-19* 2018-05-19svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-19fileutils.rb: split fu_windows?nobu
* lib/fileutils.rb (FileUtils::StreamUtils_#fu_windows?): select the method definition for each platforms, and dropped supports for deprecated platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18Revert "gc.c: use monotonic counters for objspace_malloc_increase"normal
There were major size regressions I failed to notice before in: bm_array_sample_100k__6k bm_array_sample_100k___10k bm_array_sample_100k___50k This reverts commit r63463 / 14fb10a9ec41c77a91a778ca2f705c1897958afb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18gc.c: use monotonic counters for objspace_malloc_increasenormal
atomic_sub_nounderflow is expensive and objspace_malloc_increase was showing up near the top of some `perf` profiles. The new implementation allows the compiler to inline and eliminate some branches from objspace_malloc_increase. Furthermore, we do not need atomics for oldmalloc_increase This consistently improves bm_so_count_words benchmark by around 10% on my hardware. name built so_count_words 1.107 [ruby-core:87096] [Feature #14767] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18thread.c (rb_wait_for_single_fd): do not leak EINTR on timeoutnormal
We must not leak EINTR to users in case a signal hits a ppoll/select caller right when (or just before) the timeout expires. In other words, the timeout should take precedence over the -1 result from ppoll or select. We also try one more time in case of EINTR with a zero timeout, since technically the syscall finished before timing out if it returns EINTR. Regression appeared in r62457 ("thread.c (update_timespec): use timespec_update_expire", commit e6bf0128add103730d8c96727f3ed4dab95088e4) and is not in any stable release of Ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18Merge RubyGems 2.7.7hsbt
see release details here: https://blog.rubygems.org/2018/05/18/2.7.7-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18tool: fixed shadowing variablesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18tool: removed unused variablesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18redmine-backporter.rb: suppress a warning [ci skip]nobu
* tool/redmine-backporter.rb (StringScanner.readline): use `true` to suppress a "literal in condition" warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18parse.y: relax literal in condition warningsnobu
* parse.y (cond0): do not warn literal boolean (true and false) in condition expressions, as they are often used as infinite loops, deactivated code block, etc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17* 2018-05-18svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17_mjit_compile_send.erb: disable attr_reader inlinek0kubun
for now, which was committed in r63333. Currently trunk's JIT seems to have some wrong behaviors, and this is the most suspicious culprit of them for now. In the future, I may have a strict test environment to detect the cause, but there's no enough time to test this until preview2. So let me revert this and see how it goes after this. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17rb_parser_printf declarationnobu
* node.h (rb_parser_printf): delcare as PRINTF_ARGS. * parse.y (parser_token_value_print): cast to adjust to %c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17range.c: === by cover?nobu
* range.c (range_eqq): switch `Range#===` to use `cover?` instead of `include?`. [Feature #14575] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17http_proxy setting should respect both parent domain and subdomainnaruse
URI::Generic: Respect no_proxy for both parent domain and subdomains It is now possible to add just the subdomains for proxy bypass. In a setting where the main domain needs to go through proxy while the subdomains don't, it is now possible to just add the subdomains to the no_proxy list. The assumption that subdomains and the parent domain should behave the same wrt no_proxy has been removed. eg: Adding .example.com in no_proxy would allow example.com to go through the proxy. From: Harsimran Singh Maan <maan.harry@gmail.com> fix https://github.com/ruby/ruby/pull/1748 [Bug #14345] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17vm_trace: implement postponed_jobs as st_tablenormal
st_table allows the use of st_shift to act as an order-preserving queue while allowing fast lookups to prevent duplicate jobs. In typical Ruby apps, this table will only have one entry for gc_finalize_deferred_register. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17vm_trace: remove rb_postponed_job_t->flagsnormal
This field has been taking up space for 5 years and never used. Save 8kb of memory on x86-64 for now. If we ever care about this flag, we'll simply re-add it. * vm_trace.c (rb_postponed_job_struct): remove flags (postponed_job_register): comment out flags assignment [ruby-core:87052] [Misc #14764] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-17vm_trace.c: spelling fix: PJRR_SUCESS => PJRR_SUCCESSnormal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16thread: reduce GET_THREAD callsnormal
This allows native_sleep to use less stack (80 -> 64 bytes on x86-64) for GVL_UNLOCK_BEGIN/END. For future APIs, we will pass `ec` or `th` around anyways, so the BLOCKING_REGION change should be beneficial in the future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16gc.c: use ccan/listnormal
This seems to improve the readability of gc.c a small amount and it doesn't have any measurable performance impact. [ruby-core:87067] [Misc #14762] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16* 2018-05-17svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16lib/optparse.rb: improve docsstomar
* lib/optparse.rb: [DOC] simplify shell prompt in examples; other minor improvements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16configure.ac: move the checks of _XOPEN_SOURCE on Solarisngoto
* configure.ac (solaris*): Move the checks of _XOPEN_SOURCE to the location before r63443, to cover non-GCC compilers on Solaris. This partly reverts r63443. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16configure.ac: move checks of -std=gnu99 and _XOPEN_SOURCE on Solarisngoto
* configure.ac (ansi_options): On Solaris, "-std=gnu99" should be appended to CPPFLAGS instead of warnflags and strict_warnflags, because the flag affects existance of functions and macros. * configure.ac (solaris*): Check _XOPEN_SOURCE just after checking "-std=gnu99" on Solaris. Because _XOPEN_SOURCE also affects existance of many functions and macros, it is good to define it earlier. The check is simplified to use AC_TRY_COMPILE with RUBY_WERROR_FLAG. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16configure.ac: revert r63438ngoto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16iseq body local variablesnobu
* compile.c, iseq.c: extract body and param.keyword in iseq as local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-16fileutils.rb: remove code for OS/2 emxnobu
* lib/fileutils.rb (FileUtils#mv): remove code for OS/2 emx, its support has been dropped yeas ago. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15* 2018-05-16svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Change logic to check _XOPEN_SOURCE on Solarisngoto
* configure.ac: Change logic to check _XOPEN_SOURCE on Solaris. With _XOPEN_SOURCE, "-std=gnu99" may also be added to CPPFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Split TestThread#test_join_limits into peacesngoto
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split TestThread#test_join_limits for investigating hang-up on Solaris. Each method tests only a single limit value. [ruby-core:87045] [Bug #14761] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15signal.c: follow up r63435nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15vm_core.h (rb_execution_context_t): interrupt_mask size to match interrupt_flagnormal
rb_atomic_t is 32-bit on 64-bit platforms (including the popular x86-64 Linux), so save 4 bytes on this structure. This doesn't result in any final size reduction due to padding, yet, but future changes are possible to shrink rb_execution_context_t git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Added workaround to fileutils for `make btest` without rbconfig.hsbt
Followed up r63430. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15configure.ac: maybe with jemallocnobu
* configure.ac (--with-jemalloc): accept `maybe` (other than `yes` and `no`), check for jemalloc and use it if possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15generic_erb.rb: get rid of fileutilsnobu
* tool/generic_erb.rb: get rid of FileUtils.touch, not to depend on fileutils.rb which will depend on rbconfig.rb which does not exist when creating encdb.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15share :cause variablenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Retry to merge fileutils-1.1.0.hsbt
* Revert "Revert "Merge fileutils-1.1.0."" This reverts commit 84bb8e81c25d4d7d6020c3acfbbc36e9064200fa. * Added workaround for make mjit-headers git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15-Wno-cast-function-typeshyouhei
GCC 8.1+ introduced this warning in -Weverything. It does shed some lights on something, but rather annoying than useful ATM. Might be a subject to revert this option in a future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Revert "Merge fileutils-1.1.0."mame
This reverts commit 99da3d2570e110d3024039102205f6d64174bf5e. The change caused the following build failure: ``` .../ruby/lib/fileutils.rb:88:in `require': cannot load such file -- rbconfig (LoadError) uncommon.mk:987: recipe for target 'encdb.h' failed make: *** [encdb.h] Error 1 ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15thread.c: enable ppoll for FreeBSD 11.0 and laternormal
FreeBSD 11.0+ supports ppoll, so we may use it after accounting for portability differences in how it treats POLLOUT vs POLLHUP events as mutually exclusive (as documented in the FreeBSD poll(2) manpage). For waiting on high-numbered single FDs, this should put FreeBSD on equal footing with Linux and should allow cheaper FD readiness checking with sleepy GC in the future. * thread.c (USE_POLL, POLLERR_SET): define for FreeBSD 11.0+ (rb_wait_for_single_fd): return all requested events on POLLERR_SET io.c (USE_POLL): define for FreeBSD 11.0+ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15-test-/wait_for_single_fd: fix -Wformat-security warningnormal
Oops git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15Merge fileutils-1.1.0.hsbt
This version was migrated JRuby paches. https://github.com/ruby/fileutils/pull/18 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-15test_io_wait_uncommon: new test for uncommon file typesnormal
This should make portability problems more apparent when we try using ppoll with rb_wait_for_single_fd on FreeBSD or other non-Linux platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e