* benchmark/gc/gcbench.rb: check GC::OPTS availability
  for not MRI 2.1.0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (newobj_of): don't need to RBASIC_SET_CLASS() which includes WB
  here because created obj is always YOUNG/INFANT.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_insnhelper.c: optimize for loop

* vm_insnhelper.c (vm_call_iseq_setup_normal): simple for loop
  condition optimization. this area shows up as a hotspot in VM
  profiles.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems:  Update to RubyGems master af60443.  Changes include:

  * Improved speed of `gem install --ignore-dependencies`.

  * Open read-write for exclusive flock.  [ruby-trunk - Bug #9257]

  * Remove specification before install to prevent infinite loop.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (heap_get_freeobj): improve hot path performance.
* gc.c (heap_get_freeobj_from_next_freepage): replace with
  heap_get_freepage(). It returns freeobj instead of freepage.
  This is not on hot path.



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