merge revision(s) r45225,r45240,r45488: [Backport #9578] [Backport #9630]

	* ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead
	  of Function to support readline-6.3.  (rl_hook_func_t is available
	  since readline-4.2.)
	  Reported by Dmitry Medvinsky.  [ruby-core:61141] [Bug #9578]

	* ext/readline/extconf.rb (rl_hook_func_t): define as Function for
	  very old readline versions.  [ruby-core:61209] [Bug #9578]

	* ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`.
	  [ruby-core:61756] [Bug #9578]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45518: [Backport #9578] [Backport #9630] [Backport #9702]

	* ext/readline/extconf.rb (rl_hook_func_t): check pointer type.
	  [ruby-dev:48089] [Bug #9702]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45271: [Backport #9592] [Backport #9671]

	* ext/openssl/ossl.c (ossl_make_error): check NULL for unknown
	  error reasons with old OpenSSL, and insert a colon iff formatted
	  message is not empty.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45393: [Backport #9668]

	* gc.c: Fix up default GC params by @csfrancis [fix GH-556]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45221: [Backport #9798]

	* ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding
	  objects.

	* ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding
	  objects.

	* test/psych/test_encoding.rb: add test

	* ext/psych/lib/psych.rb: add version


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45453,r45455,r45577: [Backport #9798]

	* ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to
	  libyaml-0.1.6 for CVE-2014-2525.

	* ext/psych/yaml/config.h: ditto.

	* ext/psych/yaml/scanner.c: ditto.

	* ext/psych/yaml/yaml_private.h: ditto.

	* ext/psych/psych.gemspec: update gemspec for psych-2.0.5


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45015: [Backport #9657]

	* ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard.

	* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45468: [Backport #9687]

	* gc.c (gc_before_sweep): cap `malloc_limit' to
	  gc_params.malloc_limit_max.  It can grow and grow with such case:
	    `loop{"a" * (1024 ** 2)}'
	  [Bug #9687]
	  This issue is pointed by Tim Robertson.
	  http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45638: [Backport #9518]

	* gc.c (rb_gc_writebarrier): drop special case for big hash/array
	  [Bug #9518]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45298,r45311: [Backport #9518]

	test/ruby/envutil.rb: compare RSS to check memory leak

	* test/ruby/envutil.rb (Test::Test#assert_no_memory_leak): compare
  also RSS if available.

	* test/ruby/memory_status.rb (Memory::Status.parse): read string
  form of an instance.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45291,r45299,r45314,r45325: [Backport #9518]

	* ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free),
	  ext/fiddle/handle.c (fiddle_handle_free),
	  ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak.
	  based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45595: [Backport #9743] [Backport #9745]

	* ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal()
	  finalizes only a copy of the digest context, the context must be
	  cleaned up after initialization by EVP_MD_CTX_cleanup() or a
	  memory leak will occur.  [ruby-core:62038] [Bug #9743]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45760: [Backport #9796]

	* gc.c (gc_after_sweep): suppress unnecessary expanding heap.
	  Tomb heap pages are freed pages here, so expanding heap is
	  not required.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44619:

	test_gc.rb: relax assertion

	* test/ruby/test_gc.rb (test_profiler_total_time): GC time may be
  shorter than the timer resolution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45190,r45202,r45204,r45713: [Backport #9586]

	configure.in: define SET_THREAD_NAME

	* configure.in (SET_THREAD_NAME): define according to
  pthread_setname_np variations.
	* configure.in: correct pthread_setname_np's prototype on NetBSD.
	  [Bug #9586]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45891,r45893,r45895:

	test_beginendblock.rb, test_signal.rb: run with default handler

	* test/ruby/test_beginendblock.rb (test_propagate_signaled): run
  with default handler.

	* test/ruby/test_signal.rb (test_hup_me): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45901:

	envutil.rb: successfully terminated process

	* test/ruby/envutil.rb (FailDesc): allow successfully terminated
  process without a signal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45360,r45361: [Backport #9651]

	* vm_eval.c (eval_string_with_cref): Use file path even if scope is
	  given. Related to [ruby-core:56099] [Bug #8662] and r42103.

	* vm_eval.c (eval_string_with_cref): Unify to use NIL_P.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45758,r45759: [Backport #9759]

	* vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record
	  it is bmethod frame.

	* vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame
	  is VM_FRAME_FLAG_BMETHOD.
	  [Bug #9759]

	* test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func.

	* vm_core.h: rename rb_thread_t::passed_me to
	  rb_thread_t::passed_bmethod_me to clarify the usage.

	* vm_insnhelper.c (vm_call_bmethod_body): use renamed member.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45637: [Backport #9726]

	* parse.y (primary): flush cmdarg flags inside left-paren in a
	  command argument, to allow parenthesed do-block as an argument
	  without arguments parentheses.  [ruby-core:61950] [Bug #9726]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e