* lib/rubygems:  Update to RubyGems 2.4.2.
* test/rubygems:  ditto.


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS:  Add RubyGems update.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix typo in ChangeLog header

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test/fileutils/test_fileutils.rb: AIX does not allow a sticky bit on a regular file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: remove commented out code.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ext/win32ole/win32ole_type.c: use typed data.


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
marshal.c: lazy compat_tbl allocation

In some common cases, compat_tbl is unused in dump_arg/load_arg,
so avoid malloc/free costs for the unused table.

ruby -e 'h = {a: :b}; 600000.times { Marshal.load(Marshal.dump(h)) }'

before:
	real    0m2.458s
	user    0m2.450s
	sys     0m0.006s

after:
	real    0m2.122s
	user    0m2.110s
	sys     0m0.011s

* marshal.c (w_class): check dump_arg->compat_tbl before lookup
  (w_object): lazy init ->compat_tbl before insert
  (obj_alloc_by_class): ditto
  (clear_dump_arg): free only non-NULL ->compat_tbl
  (clear_load_arg): ditto for ->compat_tbl
  (marshal_dump): ->compat_tbl defaults to zero
  (marshal_load): ditto for ->compat_tbl
  (r_entry0): check l->compat_tbl before lookup
  (r_fixup_compat): ditto

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
io.c (fptr_finalize): free memory before GC sweep

This releases memory on explict calls to rb_io_close,
reducing pressure on the GC.

Final massif snapshot shows reduced heap usage after RubyGems load
(valgrind --tool=massif ./ruby -e exit)

before:
	mem_heap_B=4821992
	mem_heap_extra_B=1302952

after:
	mem_heap_B=4791056
	mem_heap_extra_B=1192440

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ruby.h: set rb_event_flag_t to uint32_t

This ensures a consistent implementation between 32 and 64-bit
platforms, as vm_trace.c limits events to 32-bits.  This can
also open up struct packing opportunities.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
iseq.c (rb_iseq_line_trace_each): explicit cast

Fix https://travis-ci.org/ruby/ruby/jobs/36814282
Tested with -Wconversion since my gcc lacks -Wshorten-64-to-32

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/etc/etc.c (etc_nprocessors): New method.
  Accepted by matz at RubyKaigi 2014.
  [ruby-core:65142] [Feature #10267]



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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_advice show OS and filesystem when failed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/etc/etc.c (etc_nprocessors): Windows support.
  see [Feature #10267]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_trace.c (rb_tp_t): pack 56 => 48 bytes on 64-bit

48 bytes is a common malloc size class on x86-64 machines which
require 16-byte alignment.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
st.c (new_size): use next_pow2 function

Reduces object size slightly on x86-64:

   text	   data	    bss	    dec	    hex	filename
2782359	  22400	  71880	2876639	 2be4df	ruby.orig
2781831	  22400	  71880	2876111	 2be2cf	ruby.pow2

And on 32-bit x86:

   text	   data	    bss	    dec	    hex	filename
2814751	  12100	  30552	2857403	 2b99bb	ruby.orig
2814051	  12100	  30552	2856703	 2b96ff	ruby.pow2

This is not a performance-critical function, but the
smaller icache footprint seems worth it.

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