* hash.c: `st_update()' also has same issue of last fix.
  write barriers at callback function are too early.
  All write barriers are executed after `st_update()'



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c (kwmerge_i): add WB.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_stress_set): add special option of GC.stress.
  `GC.stress=(flag)' accepts integer to control behavior of GC.
  See code for details. Of course, this feature is only for MRI.
  You can debug RGenGC (WB) using `GC.stress = 1'.
  Using this option, do minor marking at all possible places.
  GC::STRESS_MINOR_MARK = 1 and GC::STRESS_LAZY_SWEEP = 2
  seem good to add.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (RGENGC_CHECK_MODE): add new check mode `3'.
  In this mode, show all references if there is
  a miss-corrected object.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rgengc_remember): check T_NONE and T_ZOMBIE
  if RGENGC_CHECK_MODE > 0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rgengc_remember): fix output level.
* gc.c (rgengc_rememberset_mark): fix to output clear count.
  (shady_object_count + clear_count = count of remembered objects)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (rb_big_aref): Apply BIGLO to ~xds[i] for environment which
  BDIGIT is 16bit.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (make_deferred): clear flags to T_ZOMBIE.
* gc.c (slot_sweep_body): fix indent.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rb_objspace::gc_stress): int -> VALUE to store Fixnum object.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (garbage_collect_body): use FIX2INT for ruby_gc_stress.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Performance change: should only attempt unescaping if escape character may be present
Merge branch 'cgi_unescape_branch' of github.com:cdd/ruby into cgi_unescape_branch