* gc.c (gc_mark_stacked_objects): check only when check_mode > 0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/irb/notifier.rb:  Fix typo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/irb/notifier.rb:  [Doc] Fix typo
* ext/json/lib/json/common.rb:  Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby_atomic.h: define ATOMIC_SIZE_CAS() with
  __atomic_compare_exchange_n() and refactoring.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby_atomic.h: remove duplicate definisions between ATOMIC_XXX
  and ATOMIC_SIZE_XXX.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (st_keys): define st_keys(). it writes each key to buffer.

* hash.c (rb_hash_keys): use st_keys() for performance improvement
  if st_data_t and VALUE are compatible.

* st.h: define macro ST_DATA_COMPATIBLE_P() to predicate whether
  st_data_t and passed type are compatible.

* configure.in: check existence of builtin function to use in
  ST_DATA_COMPATIBLE_P().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (st_keys): fix to use st_index_t for size of hash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_fstring): fstrings should be ELTS_SHARED.
  If we resurrect dying objects (non-marked, but not swept yet),
  pointing shared string can be collected.
  To avoid such issue, fstrings (recorded to fstring_table)
  should not be ELTS_SHARED (should not have a shared string).



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