ruby-changes:28633
From: ko1 <ko1@a...>
Date: Mon, 13 May 2013 15:03:10 +0900 (JST)
Subject: [ruby-changes:28633] ko1:r40685 (trunk): * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
ko1 2013-05-13 15:03:00 +0900 (Mon, 13 May 2013) New Revision: 40685 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=40685 Log: * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): use NEWOBJ_OF() instead of NEWOBJ(). Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 40684) +++ ChangeLog (revision 40685) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Mon May 13 14:57:28 2013 Koichi Sasada <ko1@a...> + + * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): + use NEWOBJ_OF() instead of NEWOBJ(). + Mon May 13 14:51:59 2013 Nobuyoshi Nakada <nobu@r...> * proc.c (rb_obj_singleton_method): new method Kernel#singleton_method Index: gc.c =================================================================== --- gc.c (revision 40684) +++ gc.c (revision 40685) @@ -715,9 +715,8 @@ rb_node_newnode(enum node_type type, VAL https://github.com/ruby/ruby/blob/trunk/gc.c#L715 VALUE rb_data_object_alloc(VALUE klass, void *datap, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree) { - NEWOBJ(data, struct RData); - if (klass) Check_Type(klass, T_CLASS); - OBJSETUP(data, klass, T_DATA); + NEWOBJ_OF(data, struct RData, klass, T_DATA); + Check_Type(klass, T_CLASS); data->data = datap; data->dfree = dfree; data->dmark = dmark; @@ -728,12 +727,8 @@ rb_data_object_alloc(VALUE klass, void * https://github.com/ruby/ruby/blob/trunk/gc.c#L727 VALUE rb_data_typed_object_alloc(VALUE klass, void *datap, const rb_data_type_t *type) { - NEWOBJ(data, struct RTypedData); - + NEWOBJ_OF(data, struct RTypedData, klass, T_DATA); if (klass) Check_Type(klass, T_CLASS); - - OBJSETUP(data, klass, T_DATA); - data->data = datap; data->typed_flag = 1; data->type = type; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/