aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.hsbt2016-04-0631-187/+212
| | | | | | | Please see entries of 2.6.3 on https://github.com/rubygems/rubygems/blob/master/History.txt git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check lgamma_r(-0.0)nobu2016-04-063-1/+40
| | | | | | | | * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0) returns negative infinity. [Bug #12249] * math.c (ruby_lgamma_r): define by the configured result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_ssl.rb: skip unavailable pkeysnobu2016-04-061-2/+3
| | | | | | | * test/openssl/test_ssl.rb (test_get_ephemeral_key): skip unavailable public keys. [GH-1318] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Logger: simple refactoringnobu2016-04-062-5/+14
| | | | | | | | | * lib/logger.rb (Logger#level=): remove unnecessary local variable. * lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention the default values. cherrypicked from [GH-1319]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lgamma_r.c: fix at -0.0nobu2016-04-063-2/+10
| | | | | | | | | * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows, since msvcrt does not provide it. * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0). [ruby-core:74823] [Bug #12249] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong.usa2016-04-052-1/+6
| | | | | | | cf. [Bug #12249] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* math.c: fix lgammanobu2016-04-053-1/+24
| | | | | | * math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-06svn2016-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* math.c: fix tgammanobu2016-04-053-4/+19
| | | | | | | * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw. [ruby-core:74817] [Bug #12249] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: rb_str_concat_literalsnobu2016-04-053-14/+19
| | | | | | | * string.c (rb_str_concat_literals): concatenate literal string fragments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.naruse2016-04-052-1/+6
| | | | | | [Bug #12202] [ruby-core:74802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2016-04-041-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_get_ephemeral_key: use assert_instance_ofnobu2016-04-041-1/+1
| | | | | | | * test/openssl/test_ssl.rb (test_get_ephemeral_key): should use assert_instance_of instead of comparison of classes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-05svn2016-04-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: Access to ephemeral TLS session keynobu2016-04-045-0/+55
| | | | | | | | | * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral TLS session key in case of forward secrecy cipher. Only available since OpenSSL 1.0.2. [Fix GH-1318] * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* at_exit listnobu2016-04-046-13/+91
| | | | | | | | | * vm_core.h (rb_vm_struct): make at_exit a single linked list but not RArray, not to mark the registered functions by the write barrier. based on the patches by Evan Phoenix. [ruby-core:73908] [Bug #12095] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2016-04-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: change deafult value ofko12016-04-042-2/+19
| | | | | | | | | | | | | | | | | | | RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2 RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65 These values are same as Ruby 2.0.0. This change cause GC counts. However, generational GC reduced each (minor) GC time and increase memory locality. So that not so big impact on my benchmarking results. (surprizingly, this fix speed up programs on some cases) You can change these values by environment variables if you feel wrong. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (get_envparam_double): take an upper_bound.ko12016-04-042-12/+46
| | | | | | | | | | | | | | | | | And also take an accept_zero flag which allow to accept zero even if lower_bound is set. * gc.c (ruby_gc_set_params): fix parameters. RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that it should be upper_bound. Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound. Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-04svn2016-04-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (Init_VM): should pass tokens.ko12016-04-042-4/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: dbl2ival no longer roundsnobu2016-04-032-10/+16
| | | | | | | | | | * numeric.c (flodivmod): round division if it is a finite number and module is required. * numeric.c (dbl2ival): do not round here. * numeric.c (flo_ceil): use dbl2ival. * numeric.c (flo_round): round explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-03svn2016-04-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: move declaration [ci skip]nobu2016-04-021-5/+3
| | | | | | | * numeric.c (fix_lshift, fix_rshift, flo_truncate): move forward declaration to the top. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: prefer rb_check_aritynobu2016-04-021-14/+8
| | | | | | | * numeric.c (flo_round, int_to_s, int_round): use rb_check_arity instead of rb_scan_args for a simple optional argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-02svn2016-04-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_check_arity returns argc nownobu2016-04-022-1/+6
| | | | | | * include/ruby/intern.h (rb_check_arity): returns argc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2016-04-011-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/unicode/case-folding.rb, casefold.h: Data generation to implementduerst2016-04-015-150/+192
| | | | | | | | | | | | | swapcase functionality for titlecase characters. Swapcase isn't defined by Unicode, because the purpose/usage of swapcase is unclear anyway. The implementation follows a proposal from Nobu, swaping the case of each component of a titlecase character individually. This means that the titlecase characters have to be decomposed. * enc/unicode.c: Code using the above data. * test/ruby/enc/test_case_mapping.rb: Tests for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* improve git repository detectionnobu2016-04-014-14/+36
| | | | | | | | | | | | | | * configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing the real git_dir, such as when the git working tree is a "linked working tree" (a working tree created by git-worktree). So use git-rev-parse --git-dir to check if $srcdir is the top-level of a git repository, not just checking if the $srcdir/.git directory does exist or not. [ruby-core:74759] [Bug #12239] * tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have its own VCS detection code, while we have tool/vcs.rb. * tool/vcs.rb (detect): remove code duplication git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/release.sh: BRE accepts \{m,\} expression. use it for future many-digitsusa2016-04-011-1/+1
| | | | | | | version numbers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: accept moving write buffer for write_nonblocknormal2016-03-313-1/+37
| | | | | | | | | | | | | | | | | | | By setting the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag. This flag was introduced at the same time as SSL_MODE_ENABLE_PARTIAL_WRITE in OpenSSL 0.9.4 and makes usage with non-blocking sockets much easier. Before this, a Rubyist would need to remember the exact object which failed to write and reuse it later when the socket became writable again. This causes problems when the buffer is given by another layer of the application (e.g. a buffer is given by a Rack middleware or application to a Rack web server). * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default [Bug #12126] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (update_coverage): Do not track coverage in loaded fileseregon2016-03-313-1/+9
| | | | | | | after Coverage.result. Avoids out-of-bounds access. [Bug #12237] * ext/coverage/coverage.c (coverage_clear_result_i): document. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/release.sh: two-digit version number support.usa2016-03-311-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-04-01svn2016-03-311-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/merger.rb (version): version number may be two-digit.usa2016-03-311-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: use PRIdSIZEnobu2016-03-311-2/+8
| | | | | | * gc.c (heap_extend_pages): fix format specifiers for size_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO.ko12016-03-312-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: change additional allocation policy.ko12016-03-312-9/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new environement variable GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the ratio of additional memory. Before this change, we add pages with the following formula (when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO): next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR This addition can allocate too much. With this change, we increase pages to satisfy the following formula: next_free_slots = next_total_slots * goal_ratio where next_free_slots = free_slots + adding_slots next_total_slots = total_slots + adding_slots. If you want to prepare many free slots, increase this ratio. If this variable is 0, then simply multiply RUBY_GC_HEAP_GROWTH_FACTOR. * gc.c (get_envparam_double): enable to accept 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_marks_finish): fix syntax error.ko12016-03-313-3/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: simplify allocate/free detecting logic at the end of marking.ko12016-03-312-71/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, heap_pages_min_slots are calculated at the beggining sweeping phase. And this value is used at the end of *next* marking phase. To simplify it, we use this value at the end of this marking phase. It means that we don't need to store this value as global state. Also heap_pages_max_slots is calculated at the begging of sweeping phase and used at the end of sweeping phase. To simplify this logic, we introduced new global value heap_pages_freeable_pages it means extra pages count we can free. gc_sweep_step() checks this value and moves empty pages to tomb_heap not more than this value. Because of this fix, heap_pages_swept_slots is no longer needed. * gc.c (rb_objspace_t::heap_pages): restruct the objspace global status. remove the following fileds * swept_slots (and heap_pages_swept_slots) * min_free_slots (and heap_pages_min_free_slots) * max_free_slots (and heap_pages_max_free_slots) And add the following filed. * freeable_pages (and heap_pages_freeable_pages) * gc.c (heap_pages_free_unused_pages): unlink tomb heap pages because tomb heap should have only freeable pages. * gc.c (heap_extend_pages): add parameters for future extension. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add GC parameters to configure the following values:ko12016-03-312-2/+38
| | | | | | | | | | | | | | | | | | * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO: allocate additional pages when free slots is lower than the value (total_slots * (this ratio)). * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO: allow to free pages when free slots is greater thatn the value (total_slots * (this ratio)). Before this change, these values are hard coded. * gc.c (ruby_gc_params_t): ditto. * gc.c (ruby_gc_set_params): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2016-03-311-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_verify_heap_page): check the number of zombies.ko12016-03-312-5/+34
| | | | | | | * gc.c (gc_verify_heap_pages): check also tomb heap. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_page_sweep): return free slots count.ko12016-03-312-9/+18
| | | | | | | | | | * gc.c (gc_sweep_step): use returned free slots count. * gc.c (gc_sweep_step): change variable name `next' to `next_sweep_page'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* complex.c: pure declarationsnobu2016-03-311-5/+2
| | | | | | | * complex.c (get_dat1, get_dat2): turn into pure variable declarations only, not mixed code and declarations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix indentnobu2016-03-312-48/+53
| | | | | | | * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC] fix indent not to be a big sole verbatim. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix DateTime rdocnobu2016-03-312-61/+66
| | | | | | | * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2016-03-31svn2016-03-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde.naruse2016-03-302-3/+8
| | | | | | fix indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e