void umm_free( void *ptr ) {

  ptr = GET_UNPOISONED(ptr);

  /* check poison of each blocks, if poisoning is enabled */
  if (!CHECK_POISON_ALL_BLOCKS()) {
    return;
  }

  /* check full integrity of the heap, if this check is enabled */
  if (!INTEGRITY_CHECK()) {
    return;
  }

  _umm_free( ptr );

  umm_account_free_blocks_cnt();
}
void umm_free( void *ptr ) {

  ptr = GET_UNPOISONED(ptr);

   
  if (!CHECK_POISON_ALL_BLOCKS()) {
    return;
  }

   
  if (!INTEGRITY_CHECK()) {
    return;
  }

  _umm_free( ptr );

  umm_account_free_blocks_cnt();
}