#include "auto_trace.h"
static auto_trace_collection_callouts callouts = { sizeof(auto_trace_collection_callouts), NULL, NULL };
void auto_trace_collection_set_callouts(auto_trace_collection_callouts *new_callouts)
{
if (new_callouts->size == sizeof(auto_trace_collection_callouts)) {
callouts = *new_callouts;
} else {
malloc_printf("auto_trace_collection_set_callouts() called with incompatible size (ignored)\n");
}
}
void auto_trace_collection_begin(auto_zone_t *zone, boolean_t generational)
{
if (callouts.auto_trace_collection_begin)
callouts.auto_trace_collection_begin(zone, generational);
}
void auto_trace_phase_begin(auto_zone_t *zone, boolean_t generational, auto_collection_phase_t phase) {}
void auto_trace_phase_end(auto_zone_t *zone, boolean_t generational, auto_collection_phase_t phase, size_t objectsReclaimed, size_t bytesReclaimed) {}
void auto_trace_collection_end(auto_zone_t *zone, boolean_t generational, size_t objectsReclaimed, size_t bytesReclaimed, size_t totalObjectsInUse, size_t totalBytesInUse)
{
if (callouts.auto_trace_collection_end)
callouts.auto_trace_collection_end(zone, generational, objectsReclaimed, bytesReclaimed, totalObjectsInUse, totalBytesInUse);
}