diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-06 00:50:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-10-06 00:50:12 +0000 |
commit | b1058ef46c04e8b76139d1985dd549a53396661b (patch) | |
tree | b23c562070acc1b345bd7f1d217d7213da0d4b26 /gc.c | |
parent | 122de73a19cb5f08c56589748ebc98055fc964df (diff) | |
download | ruby-b1058ef46c04e8b76139d1985dd549a53396661b.tar.gz |
gc.c: use markable_object_p
* gc.c (gc_mark_children): use markable_object_p() and reduce
duplicated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -2583,8 +2583,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE ptr) again: if (LIKELY(objspace->mark_func_data == 0)) { obj = RANY(ptr); - if (rb_special_const_p(ptr)) return; /* special const not marked */ - if (obj->as.basic.flags == 0) return; /* free cell */ + if (!markable_object_p(objspace, ptr)) return; if (!gc_mark_ptr(objspace, ptr)) return; /* already marked */ } else { |