++calls[idx];
atomic_increment (&calls[idx]);
mmap64 (void *start, size_t len, int prot, int flags, int fd, off64_t offset){  void *result = NULL;  /* Determine real implementation if not already happened.  */  if (__builtin_expect (initialized <= 0, 0))    {      if (initialized == -1)	return NULL;      me ();    }  /* Always get a block.  We don't need extra memory.  */  result = (*mmap64p) (start, len, prot, flags, fd, offset);  if (!not_me && trace_mmap)    {      int idx = (flags & MAP_ANON		 ? idx_mmap_a : prot & PROT_WRITE ? idx_mmap_w : idx_mmap_r);      /* Keep track of number of calls.  */      ++calls[idx];      /* Keep track of total memory consumption for `malloc'.  */      total[idx] += len;      /* Keep track of total memory requirement.  */      grand_total += len;      /* Remember the size of the request.  */      if (len < 65536)	++histogram[len / 16];      else	++large;      /* Total number of calls of any of the functions.  */      ++calls_total;      /* Check for failures.  */      if (result == NULL)	++failed[idx];      else if (idx == idx_mmap_w)	/* Update the allocation data and write out the records if	   necessary.  Note the first parameter is NULL which means	   the size is not tracked.  */	update_data (NULL, len, 0);    }  /* Return the pointer to the user buffer.  */  return result;}