aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* common.mk: clean-localnobu2015-07-271-3/+3
| | | | | | * common.mk (clean-local): remove added files and a directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* commit missusa2015-07-271-5/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/tset_ssl.rb: run tests on non-Unix platforms.usa2015-07-271-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io/console/extconf.rb: fix typonobu2015-07-271-2/+2
| | | | | | | * ext/io/console/extconf.rb: fix typo, $nmake is "m" for MS, not "n". check sys/ioctl.h iff necessary for tty. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-27svn2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.sub: fix clean-extnobu2015-07-271-6/+5
| | | | | | | * win32/Makefile.sub (clean-ext): fix usage of for /R, and adjust messages as other platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ossl_ssl.c: fix conditionnobu2015-07-262-0/+7
| | | | | | | * ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition to compile, needs ALPN to be available. [Feature #9390] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: suppress a warningnobu2015-07-261-1/+1
| | | | | | | * vm_insnhelper.c (vm_setivar): cast to long both side of a conditional expression to suppress a sign-compare warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r31760 and r31761nobu2015-07-262-26/+3
| | | | | | | seems that rb_bug_errno() is called in sigpipe() intentionally. https://gist.github.com/sorah/831169 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c: discard SIGSYSnobu2015-07-262-0/+20
| | | | | | | * signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS should raise a SystemCallError always instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e