ruby-changes:5352
From: akr <ko1@a...>
Date: Fri, 6 Jun 2008 15:07:49 +0900 (JST)
Subject: [ruby-changes:5352] Ruby:r16853 (trunk): * gc.c (count_objects): clear hash after counting objects.
akr 2008-06-06 15:05:44 +0900 (Fri, 06 Jun 2008) New Revision: 16853 Modified files: trunk/ChangeLog trunk/gc.c Log: * gc.c (count_objects): clear hash after counting objects. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16853&r2=16852&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/gc.c?r1=16853&r2=16852&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 16852) +++ ChangeLog (revision 16853) @@ -1,3 +1,7 @@ +Fri Jun 6 15:05:02 2008 Tanaka Akira <akr@f...> + + * gc.c (count_objects): clear hash after counting objects. + Fri Jun 6 00:05:33 2008 Tanaka Akira <akr@f...> * lib/time.rb (Time.xmlschema): don't use float. fix Index: gc.c =================================================================== --- gc.c (revision 16852) +++ gc.c (revision 16853) @@ -2294,9 +2294,6 @@ if (rb_scan_args(argc, argv, "01", &hash) == 1) { if (TYPE(hash) != T_HASH) rb_raise(rb_eTypeError, "non-hash given"); - if (!RHASH_EMPTY_P(hash)) { - st_foreach(RHASH_TBL(hash), set_zero, hash); - } } for (i = 0; i <= T_MASK; i++) { @@ -2318,8 +2315,12 @@ total += heaps[i].limit; } - if (hash == Qnil) + if (hash == Qnil) { hash = rb_hash_new(); + } + else if (!RHASH_EMPTY_P(hash)) { + st_foreach(RHASH_TBL(hash), set_zero, hash); + } rb_hash_aset(hash, ID2SYM(rb_intern("TOTAL")), SIZET2NUM(total)); rb_hash_aset(hash, ID2SYM(rb_intern("FREE")), SIZET2NUM(freed)); for (i = 0; i <= T_MASK; i++) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/