1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

prevent rb_cObject from GC

* class.c (Init_class_hierarchy): prevent rb_cObject which is the
  class tree root, from GC.  [ruby-dev:49666] [Bug #12492]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-06-16 07:35:37 +00:00
parent 1cbc622ea7
commit 81442f903c
2 changed files with 6 additions and 0 deletions

View file

@ -1,3 +1,8 @@
Thu Jun 16 16:35:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* class.c (Init_class_hierarchy): prevent rb_cObject which is the
class tree root, from GC. [ruby-dev:49666] [Bug #12492]
Thu Jun 16 12:17:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> Thu Jun 16 12:17:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (tr_trans): adjust buffer size by processed and rest * string.c (tr_trans): adjust buffer size by processed and rest

View file

@ -547,6 +547,7 @@ Init_class_hierarchy(void)
{ {
rb_cBasicObject = boot_defclass("BasicObject", 0); rb_cBasicObject = boot_defclass("BasicObject", 0);
rb_cObject = boot_defclass("Object", rb_cBasicObject); rb_cObject = boot_defclass("Object", rb_cBasicObject);
rb_gc_register_mark_object(rb_cObject);
/* resolve class name ASAP for order-independence */ /* resolve class name ASAP for order-independence */
rb_class_name(rb_cObject); rb_class_name(rb_cObject);