void
mono_gc_collect (int generation)
{
- MONO_PROBE_GC_BEGIN (generation);
+ MONO_GC_BEGIN (generation);
+#ifndef DISABLE_PERFCOUNTERS
mono_perfcounters->gc_induced++;
+#endif
GC_gcollect ();
- MONO_PROBE_GC_END (generation);
+ MONO_GC_END (generation);
#if defined(ENABLE_DTRACE) && defined(__sun__)
/* This works around a dtrace -G problem on Solaris.
Limit its actual use to when the probe is enabled. */
- if (MONO_PROBE_GC_END_ENABLED ())
+ if (MONO_GC_END_ENABLED ())
sleep(0);
#endif
}
mono_thread_info_suspend_unlock ();
if (e == MONO_GC_EVENT_START) {
+#ifndef DISABLE_PERFCOUNTERS
if (mono_perfcounters)
mono_perfcounters->gc_collections0++;
- mono_stats.major_gc_count ++;
+#endif
+ gc_stats.major_gc_count ++;
gc_start_time = mono_100ns_ticks ();
} else if (e == MONO_GC_EVENT_END) {
+#ifndef DISABLE_PERFCOUNTERS
if (mono_perfcounters) {
guint64 heap_size = GC_get_heap_size ();
guint64 used_size = heap_size - GC_get_free_bytes ();
mono_perfcounters->gc_reserved_bytes = heap_size;
mono_perfcounters->gc_gen0size = heap_size;
}
- mono_stats.major_gc_time_usecs += (mono_100ns_ticks () - gc_start_time) / 10;
+#endif
+ gc_stats.major_gc_time_usecs += (mono_100ns_ticks () - gc_start_time) / 10;
mono_trace_message (MONO_TRACE_GC, "gc took %d usecs", (mono_100ns_ticks () - gc_start_time) / 10);
}
mono_profiler_gc_event (e, 0);
on_gc_heap_resize (size_t new_size)
{
guint64 heap_size = GC_get_heap_size ();
+#ifndef DISABLE_PERFCOUNTERS
if (mono_perfcounters) {
mono_perfcounters->gc_committed_bytes = heap_size;
mono_perfcounters->gc_reserved_bytes = heap_size;
mono_perfcounters->gc_gen0size = heap_size;
}
+#endif
mono_profiler_gc_heap_resize (new_size);
}