[sgen] Fix heavy statistics.
authorJon Purdy <evincarofautumn@gmail.com>
Tue, 12 May 2015 21:15:22 +0000 (14:15 -0700)
committerJon Purdy <evincarofautumn@gmail.com>
Tue, 12 May 2015 21:15:22 +0000 (14:15 -0700)
mono/metadata/sgen-mono.c
mono/sgen/sgen-cardtable.c
mono/sgen/sgen-gc.c

index a4711244cf36a628100c635c05e2120704306244..9d9955ad9490002d8ffbfb4a660a3d24db14a421 100644 (file)
 #include "utils/mono-memory-model.h"
 #include "utils/mono-logger-internal.h"
 
+#ifdef HEAVY_STATISTICS
+static guint64 stat_wbarrier_set_arrayref = 0;
+static guint64 stat_wbarrier_value_copy = 0;
+static guint64 stat_wbarrier_object_copy = 0;
+
+static guint64 los_marked_cards;
+static guint64 los_array_cards;
+static guint64 los_array_remsets;
+#endif
+
 /* If set, mark stacks conservatively, even if precise marking is possible */
 static gboolean conservative_stack_mark = FALSE;
 /* If set, check that there are no references to the domain left at domain unload */
@@ -2823,6 +2833,14 @@ mono_gc_base_init (void)
 {
        mono_counters_init ();
 
+       mono_counters_register ("los marked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_marked_cards);
+       mono_counters_register ("los array cards scanned ", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_cards);
+       mono_counters_register ("los array remsets", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_remsets);
+
+       mono_counters_register ("WBarrier set arrayref", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_set_arrayref);
+       mono_counters_register ("WBarrier value copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_value_copy);
+       mono_counters_register ("WBarrier object copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_object_copy);
+
        sgen_gc_init ();
 
        if (nursery_canaries_enabled ())
index 7fcd0a8aabd12d10a4f33fd49d226d86939a7a0a..6343de1be07cde5dc09a2d115972a173835f13e9 100644 (file)
@@ -56,13 +56,8 @@ guint64 marked_cards;
 guint64 scanned_cards;
 guint64 scanned_objects;
 guint64 remarked_cards;
-
-static guint64 los_marked_cards;
 static guint64 large_objects;
 static guint64 bloby_objects;
-static guint64 los_array_cards;
-static guint64 los_array_remsets;
-
 #endif
 static guint64 major_card_scan_time;
 static guint64 los_card_scan_time;
@@ -586,9 +581,6 @@ sgen_card_table_init (SgenRememberedSet *remset)
        mono_counters_register ("scanned cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &scanned_cards);
        mono_counters_register ("remarked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &remarked_cards);
 
-       mono_counters_register ("los marked cards", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_marked_cards);
-       mono_counters_register ("los array cards scanned ", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_cards);
-       mono_counters_register ("los array remsets", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &los_array_remsets);
        mono_counters_register ("cardtable scanned objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &scanned_objects);
        mono_counters_register ("cardtable large objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &large_objects);
        mono_counters_register ("cardtable bloby objects", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &bloby_objects);
index b152646f45921ba4eebc291ae3b9dc7abef7e5f0..be05644fd79dad05927e3de72b5203f8faa9a9c4 100644 (file)
@@ -271,13 +271,10 @@ guint64 stat_nursery_copy_object_failed_pinned = 0;
 guint64 stat_nursery_copy_object_failed_to_space = 0;
 
 static guint64 stat_wbarrier_add_to_global_remset = 0;
-static guint64 stat_wbarrier_set_arrayref = 0;
 static guint64 stat_wbarrier_arrayref_copy = 0;
 static guint64 stat_wbarrier_generic_store = 0;
 static guint64 stat_wbarrier_generic_store_atomic = 0;
 static guint64 stat_wbarrier_set_root = 0;
-static guint64 stat_wbarrier_value_copy = 0;
-static guint64 stat_wbarrier_object_copy = 0;
 #endif
 
 static guint64 stat_pinned_objects = 0;
@@ -1294,13 +1291,10 @@ init_stats (void)
 
 #ifdef HEAVY_STATISTICS
        mono_counters_register ("WBarrier remember pointer", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_add_to_global_remset);
-       mono_counters_register ("WBarrier set arrayref", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_set_arrayref);
        mono_counters_register ("WBarrier arrayref copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_arrayref_copy);
        mono_counters_register ("WBarrier generic store called", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_generic_store);
        mono_counters_register ("WBarrier generic atomic store called", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_generic_store_atomic);
        mono_counters_register ("WBarrier set root", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_set_root);
-       mono_counters_register ("WBarrier value copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_value_copy);
-       mono_counters_register ("WBarrier object copy", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_wbarrier_object_copy);
 
        mono_counters_register ("# objects allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_objects_alloced_degraded);
        mono_counters_register ("bytes allocated degraded", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_bytes_alloced_degraded);