aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * thread_sync.c: reduce the specification of Queue#close.ko12015-11-213-62/+23
| | | | | | | | | | | | | * Queue#close accepts no arguments. * deq'ing on closed queue returns nil, always. [Feature #10600] * test/thread/test_queue.rb: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Visual C++ 14 (2015) uses ucrtbase.dll as c runtimenaruse2015-11-211-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* read may return nilnaruse2015-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): add debug information to NODE_STRko12015-11-207-21/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | strings as default. [Feature #11725] * insns.def (freezestring): add new instruction to support adding debug information for dynamically constracted strings. * compile.c (iseq_compile_each): support adding debug information for NODE_DSTR with freezestring instruction. * error.c (rb_error_frozen): change the debug information ID name id_debug_created_info and this field should have a 2 element array containing path and line information. * defs/id.def: ditto. * test/ruby/test_rubyoptions.rb: catch up this fix. * test/ruby/test_iseq.rb: now frozen strings are not same. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-21svn2015-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c: not freeze the receivernobu2015-11-203-7/+21
| | | | | | | * symbol.c (rb_str_intern): should not freeze the receiver itself unexpectedly. [ruby-core:71611] [Bug #11721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/logger.rb: expose logger mutexsonots2015-11-202-8/+10
| | | | | | [fix GH-541] Patch by @arthurnn git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Added missing reference of GitHubhsbt2015-11-201-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"hsbt2015-11-203-3/+25
| | | | | | | header. * test/net/http/test_http.rb: added test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: set hostname before call ossl_ssl_set_session.hsbt2015-11-202-2/+7
| | | | | | [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc-unicode.rb: --headernobu2015-11-201-12/+98
| | | | | | | * tool/enc-unicode.rb: add --header option to emit name2ctype.h directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: clarify docs for take_while/drop_while samples.hsbt2015-11-202-2/+7
| | | | | | [ci skip][fix GH-1028] Patch by @leriksen git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: remove mention of :UNIX in getaddrinfo().hsbt2015-11-202-1/+7
| | | | | | | It's typically not a support option. [ci skip][fix GH-990] Patch by @eam git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod.hsbt2015-11-202-1/+6
| | | | | | [ci skip][fix GH-1105] Patch by @davydovanton git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_vm_cref_replace_with_duplicated_cref): added.ko12015-11-207-8/+167
| | | | | | | | | | | | | | | | | | | | | | | | CREFs should not be shared by methods between `using'. [Bug #11247] * vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto. * vm.c (vm_cref_dup): should copy refinements correctly. * eval.c: use rb_vm_cref_replace_with_duplicated_cref(). * eval_intern.h: add a decl. of rb_vm_cref_replace_with_duplicated_cref(). * vm_eval.c (eval_string_with_cref): do not need to pass scope's CREF because VM can find out CREF from stack frames. * test/ruby/test_refinement.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2015-11-190-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-20svn2015-11-191-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add .gitattributesnormal2015-11-192-0/+10
| | | | | | | | | | | | | | | | | | This improves method detection for Ruby source files; making output of "git diff" and "git log -p -W" more readable for git users looking at our Ruby code. git will automatically notice this file and start using it when generating diff output. See the gitattributes(5) manpage for more details. Ruby pattern definitions reside in userdiff.c of the git sources at git://git.kernel.org/pub/scm/git/git.git * .gitattributes: new file for git users [ruby-core:71578] [Feature #11713] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag.akr2015-11-193-10/+12
| | | | | | | | | | | buffer fullness is more robust to detect the message is too big for the buffer. AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_start): force to invoke GC by GC.startko12015-11-193-2/+20
| | | | | | | | | | | even if it is GC.disable'd. * test/ruby/test_gc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: trivial performance improvements.ko12015-11-192-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | name modified vm1_gc_short_lived* 1.015 vm1_gc_short_with_complex_long* 1.014 vm1_gc_short_with_long* 1.000 vm1_gc_short_with_symbol* 1.016 vm1_gc_wb_ary* 1.002 vm1_gc_wb_ary_promoted* 0.996 vm1_gc_wb_obj* 1.045 vm1_gc_wb_obj_promoted* 1.014 vm3_gc 1.021 * gc.c (gc_writebarrier_generational): reorder parameters to optimize register passing function call. * gc.c (gc_writebarrier_incremental): ditto. * gc.c (rb_gc_writebarrier): remove LIKELY(). LIKELY() seems to move related functions not better places. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: fix ARGV doc [ci skip]nobu2015-11-192-2/+6
| | | | | | | * ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of the executable. [ruby-core:71561] [Bug #11711] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: feature_optionnobu2015-11-191-20/+21
| | | | | | | * ruby.c (feature_option): unify enable_option and disable_option not to repeat feature names twice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * signal.c: should also clear ruby_disable_gc.ko12015-11-192-1/+6
| | | | | | | | | [Bug #11692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): T_IMEMO/iseq objects should beko12015-11-192-2/+7
| | | | | | | | | wrap with ISeq wrappers. [Bug #11676] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946).hsbt2015-11-1911-90/+211
| | | | | | | this version includes #1114, #1314, #1322, #1375, #1383, #1387 * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: set compile options at oncenobu2015-11-191-13/+24
| | | | | | | * ruby.c (process_options): set instruction compilation options at once, and set disabled options to false explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (finish_overlapped_socket): return value of thisusa2015-11-192-1/+8
| | | | | | | function should be only 0 or SOCKET_ERROR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: tailcall before specializenobu2015-11-192-7/+32
| | | | | | | | | * compile.c (iseq_tailcall_optimize): apply tail call optimization before conversion to specialized instructions. when looking back from `leave` instruction, `send` instructions have been translated already. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,usa2015-11-192-1/+12
| | | | | | | | because POSIX platforms just do so. fixes test errors revealed by r52647. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: use BUILTIN_TYPEnobu2015-11-181-1/+1
| | | | | | | * gc.c (rb_raw_obj_info): BUILTIN_TYPE works fro non-special_const objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typonobu2015-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer sizeusa2015-11-182-1/+6
| | | | | | | only when vmaxdatlen is nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags isakr2015-11-182-3/+9
| | | | | | | | | nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL. Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: add -static-libgcc for mingw automatically if available.usa2015-11-182-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-19svn2015-11-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,usa2015-11-183-1/+12
| | | | | | | | | expecially exts.mk. * common.mk (EXTMK_ARGS): use above option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_class_clear_method_cache): should clear allko12015-11-183-12/+41
| | | | | | | | | | | | | | | | | | | | | | | | | RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS). RCLASS_CALLABLE_M_TBL() caches complemented method entries. It should be cleared when the modules are cleared. On previous version clears only for direct children. It is enough for normal modules because corresponding T_ICLASSes are direct children. However, refinements create complex data structure. So that we need to clear all children (and descendants). [ruby-core:71423] [Bug #11672] * vm_method.c (rb_clear_method_cache_by_class): rb_mKernel doesn't call rb_class_clear_method_cache, so that clear child T_ICLASSes. * test/ruby/test_refinement.rb: enable disabled test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2015-11-181-0/+50
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (prepare_callable_method_entry): useko12015-11-182-2/+6
| | | | | | | | | RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: introduce the folliwing field and macros.ko12015-11-185-12/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * rb_method_definition_t::complemented_count to count shared method entries because of complemented method entries and separate from alias_count. Shared `def' only by complemented method entries should not prevent method re-definition warning. * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry. * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as complemented me. * vm_insnhelper.c (aliased_callable_method_entry): should also check me->def->complemented_count. * vm_method.c (method_definition_addref_complement): add to count complemented method entries number. * vm_method.c (rb_method_definition_release): release `def' iff alias_count == 0 and complemented_count == 0. * test/ruby/test_module.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_raw_obj_info): fix trivial issues.ko12015-11-182-87/+102
| | | | | | | | | | * support SPECIAL_CONSTs. * fix IMEMO/ment outputs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* comment for r52633 [ci skip]nobu2015-11-181-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: optimize useless branchesnobu2015-11-182-0/+34
| | | | | | | | | * compile.c (iseq_peephole_optimize): eliminate always/never branches after a literal object. this sequence typically appears by defined? operator for a method call on a local variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: check type before checking insn_idnobu2015-11-181-1/+7
| | | | | | | * compile.c (iseq_peephole_optimize): check element type before checking insn_id which is valid only for INSN elements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer sizeusa2015-11-182-0/+10
| | | | | | | | when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms (such as, Windows). fixes a test error revealed by r52625. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: fix typo for default sizenormal2015-11-182-1/+7
| | | | | | | | | | * ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as default size to match pre-r52610, which also maps to a common page size. Oops; absolutely no idea why I made this typo... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/syntax/refinements.rdoc: update documentation to reflectshugo2015-11-182-26/+40
| | | | | | | recent changes. [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/logger/test_logdevice.rb: Fix tests of logger to make it work onsonots2015-11-182-5/+16
| | | | | | windows (windows can not remove opened file) [Bug #11702] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: fix help messagenobu2015-11-181-1/+1
| | | | | | | * configure.in (ruby-pc): fix help message for --with-ruby-pc option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e