* gc.c (gc_mark_maybe): check to skip T_NONE.
* gc.c (markable_object_p): do not need to check (flags == 0) here.



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

* gc.c (gc_stat): add `generated_normal_object_count_types' for
  RGENGC_PROFILE >= 2.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (rb_big_xor): Non-effective code removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (nlz): Cast the result explicitly.
  (big2dbl): Don't assign BDIGIT values to int variable.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add timeout to avoid stick

http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20130618T030202Z.diff.html.gz

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

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

* parse.y (parser_heredoc_restore): clear lex_strterm always to get
  rid of marking recycled node.  this bug is revealed by r41372 with
  GC.stress=true.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: Check __int128.

* include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.
  (BDIGIT): Use uint64_t if uint128_t is available.
  (SIZEOF_BDIGITS): Defined for above case.
  (BDIGIT_DBL_SIGNED): Ditto.
  (PRI_BDIGIT_PREFIX): Ditto.

* include/ruby/ruby.h (PRI_64_PREFIX): Defined.

* bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which
  rb_big_pow returns Float or Bignum.

[ruby-dev:47413] [Feature #8509]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/objspace.c: rdoc on require to overview from r41355


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/.document: add object_tracing.c to document file


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/object_tracing.c: Teach rdoc object_tracing.c [Bug #8537]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/objspace.c: Document ObjectSpace::InternalObjectWrapper.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: Rename rb_mObSpace -> rb_mObjSpace


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/object_tracing.c: Document object_tracing methods.


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

* test/ruby/test_symbol.rb (test_block_persist_between_calls): needs
  receiver object.  [Bug #8531]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/object_tracing.c: Return for ::allocation_generation


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* gc.c (gc_profile_record_flag): reason seems like one-hot encoding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c (vm_call_method): ensure methods of type
  VM_METHOD_TYPE_ATTR_SET are called with 1 argument

* test/ruby/test_module.rb (class TestModule): add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* gc.c (gc_profile_record_flag): There may be two or more reasons. so, it was typo.


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

* variable.c (rb_const_set): fix WB miss.

  WBs had located before creating reference between a klass
  and constant value. It causes GC bug.

    # pseudo code:
    WB(klass, value); # WB and remember klass
    st_insert(klass->const_table, const_id, value);

  `st_insert()' can cause GC before inserting `value' and
  forget `klass' from the remember set. After that, relationship
  between `klass' and `value' are created with constant table.
  Now, `value' can be young (shady) object and `klass' can be old
  object, without remembering `klass' object.
  At the next GC, old `klass' object will be skipped and
  young (shady) `value' will be miss-collected. -> GC bug

  Lesson: The place of a WB is important.



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