From 1b6aa03eb91c13a78d6a13158f04a5930fc9c3ef Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 11 Dec 2014 10:15:30 +0000 Subject: * class.c (class_alloc): Strat from age == 2. Class and Module objects can be living long life. * iseq.c: Same for ISeq objects. * gc.c (RVALUE_AGE_RESET): added. * gc.c (newobj_of): allow to generate (age != 0) objects. * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected objects. * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'class.c') diff --git a/class.c b/class.c index 06a12a45a4..9868b72e2a 100644 --- a/class.c +++ b/class.c @@ -150,7 +150,7 @@ rb_class_detach_module_subclasses(VALUE klass) static VALUE class_alloc(VALUE flags, VALUE klass) { - NEWOBJ_OF(obj, struct RClass, klass, (flags & T_MASK) | (RGENGC_WB_PROTECTED_CLASS ? FL_WB_PROTECTED : 0)); + NEWOBJ_OF(obj, struct RClass, klass, (flags & T_MASK) | FL_PROMOTED1 /* start from age == 2 */ | (RGENGC_WB_PROTECTED_CLASS ? FL_WB_PROTECTED : 0)); obj->ptr = ALLOC(rb_classext_t); RCLASS_IV_TBL(obj) = 0; RCLASS_CONST_TBL(obj) = 0; -- cgit v1.2.3