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/