[前][次][番号順一覧][スレッド一覧]

ruby-changes:27543

From: nobu <ko1@a...>
Date: Tue, 5 Mar 2013 10:41:15 +0900 (JST)
Subject: [ruby-changes:27543] nobu:r39595 (trunk): objspace.c: newly added nodes

nobu	2013-03-05 10:40:52 +0900 (Tue, 05 Mar 2013)

  New Revision: 39595

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=39595

  Log:
    objspace.c: newly added nodes
    
    * ext/objspace/objspace.c (count_nodes): count also newly added nodes,
      and fix key for unknown node.  patch by tmm1 (Aman Gupta) in
      [ruby-core:53130] [Bug #8014]

  Modified files:
    trunk/ChangeLog
    trunk/ext/objspace/objspace.c
    trunk/test/objspace/test_objspace.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 39594)
+++ ChangeLog	(revision 39595)
@@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Tue Mar  5 10:40:22 2013  Nobuyoshi Nakada  <nobu@r...>
+
+	* ext/objspace/objspace.c (count_nodes): count also newly added nodes,
+	  and fix key for unknown node.  patch by tmm1 (Aman Gupta) in
+	  [ruby-core:53130] [Bug #8014]
+
 Tue Mar  5 10:20:16 2013  Nobuyoshi Nakada  <nobu@r...>
 
 	* enumerator.c (enumerator_with_index_i): allow Bignum as offset, to
Index: ext/objspace/objspace.c
===================================================================
--- ext/objspace/objspace.c	(revision 39594)
+++ ext/objspace/objspace.c	(revision 39595)
@@ -469,6 +469,7 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L469
 		COUNT_NODE(NODE_OP_ASGN2);
 		COUNT_NODE(NODE_OP_ASGN_AND);
 		COUNT_NODE(NODE_OP_ASGN_OR);
+		COUNT_NODE(NODE_OP_CDECL);
 		COUNT_NODE(NODE_CALL);
 		COUNT_NODE(NODE_FCALL);
 		COUNT_NODE(NODE_VCALL);
@@ -502,6 +503,7 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L503
 		COUNT_NODE(NODE_ARGS);
 		COUNT_NODE(NODE_ARGS_AUX);
 		COUNT_NODE(NODE_OPT_ARG);
+		COUNT_NODE(NODE_KW_ARG);
 		COUNT_NODE(NODE_POSTARG);
 		COUNT_NODE(NODE_ARGSCAT);
 		COUNT_NODE(NODE_ARGSPUSH);
@@ -519,6 +521,7 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L521
 		COUNT_NODE(NODE_SCLASS);
 		COUNT_NODE(NODE_COLON2);
 		COUNT_NODE(NODE_COLON3);
+		COUNT_NODE(NODE_CREF);
 		COUNT_NODE(NODE_DOT2);
 		COUNT_NODE(NODE_DOT3);
 		COUNT_NODE(NODE_FLIP2);
@@ -539,7 +542,7 @@ count_nodes(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ext/objspace/objspace.c#L542
 		COUNT_NODE(NODE_PRELUDE);
 		COUNT_NODE(NODE_LAMBDA);
 #undef COUNT_NODE
-	      default: node = INT2FIX(nodes[i]);
+	      default: node = INT2FIX(i);
 	    }
 	    rb_hash_aset(hash, node, SIZET2NUM(nodes[i]));
 	}
Index: test/objspace/test_objspace.rb
===================================================================
--- test/objspace/test_objspace.rb	(revision 39594)
+++ test/objspace/test_objspace.rb	(revision 39595)
@@ -58,7 +58,9 @@ class TestObjSpace < Test::Unit::TestCas https://github.com/ruby/ruby/blob/trunk/test/objspace/test_objspace.rb#L58
     assert_equal(false, res.empty?)
     arg = {}
     ObjectSpace.count_nodes(arg)
-    assert_equal(false, arg.empty?)
+    assert_not_empty(arg)
+    bug8014 = '[ruby-core:53130] [Bug #8014]'
+    assert_empty(arg.select {|k, v| !(Symbol === k && Integer === v)}, bug8014)
   end
 
   def test_count_tdata_objects

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]