aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* fix typonobu2015-07-301-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: PHONY should be phony [ci skip]nobu2015-07-301-1/+1
| | | | | | | * common.mk (PHONY): should not depend on any real files, not to make those dependencies inadvertently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_pair.rb: join client threadnobu2015-07-301-7/+7
| | | | | | | * test/openssl/test_pair.rb (test_ecdh_callback): join client thread only when it started. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: -w for assert_separatelynobu2015-07-302-2/+2
| | | | | | | * test/lib/envutil.rb (assert_separately): always add -w option for warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c: Module#deprecate_constantnobu2015-07-307-6/+51
| | | | | | | | * variable.c (rb_const_get_0): warn deprecated constant reference. * variable.c (rb_mod_deprecate_constant): mark constants to be warned as deprecated. [Feature #11398] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: sort alphabeticallynobu2015-07-301-14/+14
| | | | | | | * NEWS (Core classes updates): sort classes/modules in alphabetical order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: no version.inobu2015-07-301-1/+1
| | | | | | | * common.mk (clean-local): version.i is no longer generated automatically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: identical hashnobu2015-07-302-3/+19
| | | | | | | * thread.c (rb_thread_s_handle_interrupt): make identical hash, to compare masking classes just by their IDs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: stop separating exits at loadingnobu2015-07-302-6/+8
| | | | | | | | | | * load.c (rb_load_internal0): stop separating exits at loading from exits from execution. TAG_FATAL is the only case that `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG but not raising as an ordinary exception. [ruby-core:70169] [Bug #11404] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: avoid segfault when 'throw' occurs in the middle of rb_load_file_strnobu2015-07-303-1/+37
| | | | | | | | | | | | | | | | | | How can a 'throw' happen while the current thread is reading a Ruby source file from disk and parsing it? It can happen if another thread calls Thread#raise, and passes an Exception object which responds to #exception, and the custom #exception method calls Kernel#throw. In practice, this is most likely to happen if you combine the use of autoload and Timeout.timeout. An extra check is required to avoid a segfault in this case. * load.c (rb_load_internal0): extra check before returning TAG_RAISE when a non-local transfer of control happens while loading and parsing a Ruby source file. [ruby-core:70169] [Bug #11404] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: constify st_table* in private functionsnormal2015-07-292-5/+17
| | | | | | | | | | | | | | | | | | Minor size reduction on 32-bit x86: text data bss dec hex filename 13742 24 0 13766 35c6 st.o 14166 24 0 14190 376e st-orig.o Public API change to be proposed separately. * st.c (find_entry): constify st_table* (find_packed_index_from): ditto (find_packed_index): ditto (get_keys): ditto (get_values): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2015-07-290-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-30svn2015-07-291-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* new benchmarks for hashing dsyms and fixnumsnormal2015-07-294-0/+35
| | | | | | | | | | | * benchmark/bm_hash_aref_dsym.rb: new benchmark * benchmark/bm_hash_aref_dsym_long.rb: ditto * benchmark/bm_hash_aref_fix.rb: ditto [ruby-core:70129] [Bug #11396] pointed out we need to consider more cases for hashing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_pair.rb: thread leaknobu2015-07-291-1/+4
| | | | | | | * test/openssl/test_pair.rb (test_ecdh_callback): join client thread before closing sockets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_pair.rb: thread leaknobu2015-07-291-0/+1
| | | | | | * test/openssl/test_pair.rb (test_ecdh_callback): fix thread leak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c: fix dynamic symbol hash valuenobu2015-07-293-5/+9
| | | | | | | * hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol hash value by restricting in Fixnum range, that is `long`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_hash.rb: suppress warningsnobu2015-07-291-2/+3
| | | | | | | * test/ruby/test_hash.rb (test_label_syntax): pass assertion message and suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: move rb_obj_hashnobu2015-07-294-21/+36
| | | | | | * hash.c (rb_obj_hash): move in order to share with rb_any_hash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: $LOCAL_LIBS needs to be expandednobu2015-07-291-1/+1
| | | | | | | * ext/fiddle/extconf.rb: revert part of r51401 and expand $LOCAL_LIBS as it will be extracted and copied to exts.mk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: empty non-embed casenobu2015-07-292-5/+15
| | | | | | | * string.c (str_buf_cat): consider empty non-embed string case, not to loop infinitely. [ruby-core:70074] [Bug #11383] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c: set method_missing_reasonnobu2015-07-293-0/+15
| | | | | | | | | * vm_eval.c (send_internal): set method_missing_reason before invoking overriding method_missing method so that the default method_missing can achieve it properly. [ruby-core:68515] [Bug #10969] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: fix symbol hashnobu2015-07-294-1/+23
| | | | | | | * hash.c (rb_sym_hash): return same value as rb_any_hash() of Symbol. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: fix float hashnobu2015-07-293-2/+10
| | | | | | | * hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a Fixnum, but not a long. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_open_flag_binary): typo of method name ↵usa2015-07-291-4/+4
| | | | | | (test method itself, and calling method). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_hash.rb: add assertionsnobu2015-07-291-2/+7
| | | | | | | * test/ruby/test_hash.rb (test_wrapper_of_special_const): test other special obejcts. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* open the path instead of tempfile objectnaruse2015-07-291-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: fix LIKELYnobu2015-07-291-2/+2
| | | | | | | * internal.h (LIKELY, UNLIKELY): inverted conditions generate wrong code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: ensure a booleannobu2015-07-292-2/+6
| | | | | | * internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix conflict of version.inobu2015-07-293-10/+8
| | | | | | | * common.mk ($(arch)-fake.rb): read from STDIN instead of creating version.i, to get rid of conflict with tool/update-deps. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: document argument passed to finalizer proc.hsbt2015-07-292-1/+8
| | | | | | [fix GH-976][ci skip] Patch by @alexdowad git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refix r51329 and show thread informationnaruse2015-07-291-18/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_extract_modeenc): add option parameter `flags'naruse2015-07-294-12/+55
| | | | | | | to append extra oflags to normal mode. [Feature #11253] [ruby-core:69539] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-29svn2015-07-281-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_gem_remote_fetcher.rb: pre-generate test keynormal2015-07-282-1/+32
| | | | | | | | | | OpenSSL::PKey::DH.new(2048) takes forever, and we pre-generate test keys for other SSL-using tests anyways. * test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key [ruby-core:70151] [Bug #11397] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: moved RClassnobu2015-07-284-7/+22
| | | | | | | * internal.h (struct RClass): moved from ruby/ruby.h to hide the internals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: RUBY_TYPE_ATTRIBUTEnobu2015-07-272-6/+28
| | | | | | | * configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for types. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: show signalnobu2015-07-271-0/+4
| | | | | | | * test/lib/test/unit.rb (Test::Unit::Parallel::Worker#died): show terminated signal when a worker died. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.h: memoize hashval for RSymbolnormal2015-07-275-1/+19
| | | | | | | | | | | | | | | | | | | | | | This speeds up the hash function for dynamic symbols. [ruby-core:70129] [Bug #11396], nearly up to Ruby 2.1 levels Power-of-two hash sizing [Feature #9425] speeds up cases where we have a good hash, but this means we can no longer hide behind weak hashes. Unfortunately, object IDs do not hash well, but we may use the extra space in the RSymbol struct to memoize the hash value. Further optimizations should be possible. For now, the st.c APIs force us to calculate rb_str_hash redundantly at dsym registration. * symbol.h (struct RSymbol): add hashval field * symbol.c (dsymbol_alloc): setup hashval field once * hash.c (rb_any_hash): return RSymbol->hashval directly * common.mk: hash.o depends on symbol.h Thanks to Bruno Escherl <bruno@escherl.net> for the bug report [ruby-core:70129] [Bug #11396] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a moretenderlove2015-07-274-0/+41
| | | | | | | | | | helpful exception when verifying the peer connection and an anonymous cipher has been selected. [ruby-core:68330] [Bug #10910] Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch. * test/openssl/test_ssl.rb (class OpenSSL): test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-28svn2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-07-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: suppress warningsnobu2015-07-271-3/+4
| | | | | | | * test/lib/test/unit.rb (MiniTest::Unit::TestCase.test_order): get rid of warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: --test-order optionnobu2015-07-271-0/+12
| | | | | | | * test/lib/test/unit.rb (setup_options): add --test-order option to override the test order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * template/id.h.tmpl (ID2ATTRSET): remove an unused macro.ko12015-07-272-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: clean dot dirnobu2015-07-271-1/+1
| | | | | | * ext/fiddle/depend (distclean-libffi): clean dot directory too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: unexpand LIBFFI_DIRnobu2015-07-271-3/+4
| | | | | | * ext/fiddle/extconf.rb: use LIBFFI_DIR instead of expanding it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: clean preludesnobu2015-07-271-2/+2
| | | | | | | * common.mk (distclean-local): clean preludes in the build diretory, not by realclean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix clean ordernobu2015-07-271-2/+2
| | | | | | | * common.mk (clean, distclean): clean local files before platform directory, some files may exist there. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e