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
merge revision(s) r45367,r45387,r45388,r45389: [Backport #9475]

	* vm_method.c (rb_method_entry_get_without_cache): get rid of
	  infinite recursion at aliases in a subclass and a superclass.
	  return actually defined class for other than singleton class.
	  [ruby-core:60431] [Bug #9475]

	* vm_method.c (rb_method_entry_get_without_cache): me->klass is 0
	  for a method aliased in a module.  [ruby-core:61636] [Bug #9663]


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

	* lib/csv.rb: Fixed a broken regular expression that was causing
	  CSV to miss escaping some special meaning characters when used
	  in parsing.
	  Reported by David Unric
	  [ruby-core:54986] [Bug #8405]


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