static void pin_stats_tree_free (PinStatAddress *node) { if (!node) return; pin_stats_tree_free (node->left); pin_stats_tree_free (node->right); free_internal_mem (node, INTERNAL_MEM_STATISTICS); }
static void pin_stats_tree_free (PinStatAddress *node) { if (!node) return; pin_stats_tree_free (node->left); pin_stats_tree_free (node->right); sgen_free_internal_dynamic (node, sizeof (PinStatAddress), INTERNAL_MEM_STATISTICS); }
static void pin_stats_reset (void) { int i; pin_stats_tree_free (pin_stat_addresses); pin_stat_addresses = NULL; for (i = 0; i < PIN_TYPE_MAX; ++i) pinned_byte_counts [i] = 0; }
void sgen_pin_stats_reset (void) { int i; pin_stats_tree_free (pin_stat_addresses); pin_stat_addresses = NULL; for (i = 0; i < PIN_TYPE_MAX; ++i) pinned_byte_counts [i] = 0; while (pinned_objects) { ObjectList *next = pinned_objects->next; sgen_free_internal_dynamic (pinned_objects, sizeof (ObjectList), INTERNAL_MEM_STATISTICS); pinned_objects = next; } }