]> git.llucax.com Git - software/dgc/cdgc.git/blobdiff - rt/gc/cdgc/stats.d
Make realloc() a little more readable
[software/dgc/cdgc.git] / rt / gc / cdgc / stats.d
index 1a2e8ef18fd2e43db5c4ff938cc1d45c7618f78a..b854812eab740a31cfe5cd1a498dd883a6b9aba2 100644 (file)
@@ -228,8 +228,8 @@ private:
     cstdio.FILE* start_file(char* filename, char* header)
     {
         cstdio.FILE* file = cstdio.fopen(filename, "w");
-        assert (file !is null);
-        cstdio.fputs(header, file);
+        if (file !is null)
+            cstdio.fputs(header, file);
         return file;
     }
 
@@ -298,22 +298,24 @@ public:
         Stats this_;
         this_.gc = gc;
         if (options.malloc_stats_file[0] != '\0') {
-            this_.active = true;
             this_.mallocs_file = this_.start_file(
                     options.malloc_stats_file.ptr,
                     "Timestamp,Time,Pointer,Size,Collection triggered,"
                     "Finalize,No scan,No move,Pointer map,Type size,"
                     "Pointer map scan bitmask (first word, hexa),"
                     "Pointer map pointer bitmask (first word, hexa)\n");
+            if (this_.mallocs_file !is null)
+                this_.active = true;
         }
         // collection
         if (options.collect_stats_file[0] != '\0') {
-            this_.active = true;
             this_.collections_file = this_.start_file(
                     options.collect_stats_file.ptr,
                     "Timestamp,Malloc time,Collection time,Stop-the-world time,"
                     "Used before,Free before,Wasted before,Overhead before,"
                     "Used after,Free after,Wasted after,Overhead after\n");
+            if (this_.collections_file !is null)
+                this_.active = true;
         }
         this_.program_start = this_.now();
         return this_;