* gc.c (gc_profile_clear): do rest_sweep() before clearing
  profile.current_record.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enumerator.c: Allow Enumerator size argument to be any callable.
  Patch by Avdi Grimm. [bug #8641] [ruby-core:56032] [fix GH-362]

* test/ruby/test_enumerator.rb: Test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Amend ChangeLog for r42698

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/stringio/stringio.c (strio_read_nonblock): declare local
  variables at the first of function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_eval.c: constify

* vm_eval.c (rb_check_funcall, rb_check_funcall_with_hook): constify
  argv.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_insnhelper.h: RBASIC_CLASS

* vm_insnhelper.c (opt_eq_func): use RBASIC_CLASS() instead of HEAP_CLASS_OF().
* insns.def (opt_plus, opt_minus, opt_mult, opt_div, opt_mod, opt_lt),
  (opt_gt, opt_ltlt, opt_aref, opt_aset, opt_length, opt_size),
  (opt_empty_p, opt_succ): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_insnhelper.c: reduce duplication

* vm_insnhelper.c (vm_search_method): reduce duplicated code for the
  case cache does not hit.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
array.c: optimized equality

* array.c (rb_ary_index, rb_ary_rindex): use optimized equality to
  improve performance.  [Feature #8820]
* vm_insnhelper.c (rb_equal_opt): optimized equality function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
enumerator.c: check arg size

* enumerator.c (enumerator_each): ensure argument array size is int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
enumerator.c: add comment

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
enumerator.c: rb_check_funcall

* enumerator.c (enumerator_size): use rb_check_funcall() instead of
  respond_to? and call.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
io.c: common oflags

* io.c (copy_stream_body): move common open flags.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
io.c: copy in binary mode

* io.c (copy_stream_body): should write in binary mode.  based on a
  patch by godfat (Lin Jen-Shin) at [ruby-core:56556].
  [ruby-core:56518] [Bug #8767]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
timeout.rb: raise given exception

* lib/timeout.rb (Timeout#timeout): skip rescue clause only when no
  exception class is given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_ssl.c (ossl_ssl_read):  Replace duplicate
  wait_writable with wait_readable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-08-28

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
configure.in: check for sys/pstat.h

* configure.in (sys/pstat.h): fix missing header check for
  missing/setproctitle.c on HP-UX.  [ruby-core:56644] [Bug #8792]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
thread_pthread.c: simplify

* thread_pthread.c (register_cached_thread_and_wait): simplify and
  reduce branches.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
thread_pthread.c: dup code

* thread_pthread.c (get_stack): merge duplicated code split by ifdef.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
thread_pthread.c: get_stack on HP-UX

* thread_pthread.c (hpux_attr_getstackaddr): basic support for the
  get_stack() under HP-UX.  based on the patch by michal@rokos.cz
  (Michal Rokos) at [ruby-core:56645].  [Feature #8793]

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