ruby-changes:48233
From: nobu <ko1@a...>
Date: Sun, 22 Oct 2017 14:36:54 +0900 (JST)
Subject: [ruby-changes:48233] nobu:r60348 (trunk): objspace.c: missing types
nobu 2017-10-22 14:36:49 +0900 (Sun, 22 Oct 2017) New Revision: 60348 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60348 Log: objspace.c: missing types * ext/objspace/objspace.c (count_nodes): added recently added node types that were missing. Modified files: trunk/ext/objspace/objspace.c Index: ext/objspace/objspace.c =================================================================== --- ext/objspace/objspace.c (revision 60347) +++ ext/objspace/objspace.c (revision 60348) @@ -357,7 +357,7 @@ static VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L357 count_nodes(int argc, VALUE *argv, VALUE os) { size_t nodes[NODE_LAST+1]; - size_t i; + enum node_type i; VALUE hash = setup_hash(argc, argv); for (i = 0; i <= NODE_LAST; i++) { @@ -370,10 +370,11 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L370 if (nodes[i] != 0) { VALUE node; switch (i) { -#define COUNT_NODE(n) case n: node = ID2SYM(rb_intern(#n)); break; +#define COUNT_NODE(n) case n: node = ID2SYM(rb_intern(#n)); goto set COUNT_NODE(NODE_SCOPE); COUNT_NODE(NODE_BLOCK); COUNT_NODE(NODE_IF); + COUNT_NODE(NODE_UNLESS); COUNT_NODE(NODE_CASE); COUNT_NODE(NODE_WHEN); COUNT_NODE(NODE_OPT_N); @@ -405,8 +406,10 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L406 COUNT_NODE(NODE_OP_ASGN_OR); COUNT_NODE(NODE_OP_CDECL); COUNT_NODE(NODE_CALL); + COUNT_NODE(NODE_OPCALL); COUNT_NODE(NODE_FCALL); COUNT_NODE(NODE_VCALL); + COUNT_NODE(NODE_QCALL); COUNT_NODE(NODE_SUPER); COUNT_NODE(NODE_ZSUPER); COUNT_NODE(NODE_ARRAY); @@ -468,8 +471,10 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L471 COUNT_NODE(NODE_PRELUDE); COUNT_NODE(NODE_LAMBDA); #undef COUNT_NODE - default: node = INT2FIX(i); + case NODE_LAST: break; } + UNREACHABLE; + set: rb_hash_aset(hash, node, SIZET2NUM(nodes[i])); } } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/