00db10
commit 987c02692a88b8c9024cb99187434aad02c3c047
00db10
Author: Ondřej Bílka <neleai@seznam.cz>
00db10
Date:   Fri May 30 13:24:56 2014 +0200
00db10
00db10
    Remove mi_arena nested function.
00db10
00db10
diff --git a/malloc/malloc.c b/malloc/malloc.c
00db10
index 5c7a27129d66e06a..c99b26d4a85e1b22 100644
00db10
--- a/malloc/malloc.c
00db10
+++ b/malloc/malloc.c
00db10
@@ -5023,147 +5023,143 @@ malloc_info (int options, FILE *fp)
00db10
   size_t total_aspace = 0;
00db10
   size_t total_aspace_mprotect = 0;
00db10
 
00db10
-  void
00db10
-  mi_arena (mstate ar_ptr)
00db10
-  {
00db10
-    fprintf (fp, "<heap nr=\"%d\">\n<sizes>\n", n++);
00db10
 
00db10
-    size_t nblocks = 0;
00db10
-    size_t nfastblocks = 0;
00db10
-    size_t avail = 0;
00db10
-    size_t fastavail = 0;
00db10
-    struct
00db10
-    {
00db10
-      size_t from;
00db10
-      size_t to;
00db10
-      size_t total;
00db10
-      size_t count;
00db10
-    } sizes[NFASTBINS + NBINS - 1];
00db10
-#define nsizes (sizeof (sizes) / sizeof (sizes[0]))
00db10
 
00db10
-    mutex_lock (&ar_ptr->mutex);
00db10
+  if (__malloc_initialized < 0)
00db10
+    ptmalloc_init ();
00db10
+
00db10
+  fputs ("<malloc version=\"1\">\n", fp);
00db10
+
00db10
+  /* Iterate over all arenas currently in use.  */
00db10
+  mstate ar_ptr = &main_arena;
00db10
+  do
00db10
+    {
00db10
+      fprintf (fp, "<heap nr=\"%d\">\n<sizes>\n", n++);
00db10
 
00db10
-    for (size_t i = 0; i < NFASTBINS; ++i)
00db10
+      size_t nblocks = 0;
00db10
+      size_t nfastblocks = 0;
00db10
+      size_t avail = 0;
00db10
+      size_t fastavail = 0;
00db10
+      struct
00db10
       {
00db10
-        mchunkptr p = fastbin (ar_ptr, i);
00db10
-        if (p != NULL)
00db10
-          {
00db10
-            size_t nthissize = 0;
00db10
-            size_t thissize = chunksize (p);
00db10
-
00db10
-            while (p != NULL)
00db10
-              {
00db10
-                ++nthissize;
00db10
-                p = p->fd;
00db10
-              }
00db10
-
00db10
-            fastavail += nthissize * thissize;
00db10
-            nfastblocks += nthissize;
00db10
-            sizes[i].from = thissize - (MALLOC_ALIGNMENT - 1);
00db10
-            sizes[i].to = thissize;
00db10
-            sizes[i].count = nthissize;
00db10
-          }
00db10
-        else
00db10
-          sizes[i].from = sizes[i].to = sizes[i].count = 0;
00db10
-
00db10
-        sizes[i].total = sizes[i].count * sizes[i].to;
00db10
-      }
00db10
+	size_t from;
00db10
+	size_t to;
00db10
+	size_t total;
00db10
+	size_t count;
00db10
+      } sizes[NFASTBINS + NBINS - 1];
00db10
+#define nsizes (sizeof (sizes) / sizeof (sizes[0]))
00db10
 
00db10
+      mutex_lock (&ar_ptr->mutex);
00db10
 
00db10
-    mbinptr bin;
00db10
-    struct malloc_chunk *r;
00db10
+      for (size_t i = 0; i < NFASTBINS; ++i)
00db10
+	{
00db10
+	  mchunkptr p = fastbin (ar_ptr, i);
00db10
+	  if (p != NULL)
00db10
+	    {
00db10
+	      size_t nthissize = 0;
00db10
+	      size_t thissize = chunksize (p);
00db10
+
00db10
+	      while (p != NULL)
00db10
+		{
00db10
+		  ++nthissize;
00db10
+		  p = p->fd;
00db10
+		}
00db10
+
00db10
+	      fastavail += nthissize * thissize;
00db10
+	      nfastblocks += nthissize;
00db10
+	      sizes[i].from = thissize - (MALLOC_ALIGNMENT - 1);
00db10
+	      sizes[i].to = thissize;
00db10
+	      sizes[i].count = nthissize;
00db10
+	    }
00db10
+	  else
00db10
+	    sizes[i].from = sizes[i].to = sizes[i].count = 0;
00db10
 
00db10
-    for (size_t i = 1; i < NBINS; ++i)
00db10
-      {
00db10
-        bin = bin_at (ar_ptr, i);
00db10
-        r = bin->fd;
00db10
-        sizes[NFASTBINS - 1 + i].from = ~((size_t) 0);
00db10
-        sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
00db10
-                                        = sizes[NFASTBINS - 1 + i].count = 0;
00db10
-
00db10
-        if (r != NULL)
00db10
-          while (r != bin)
00db10
-            {
00db10
-              ++sizes[NFASTBINS - 1 + i].count;
00db10
-              sizes[NFASTBINS - 1 + i].total += r->size;
00db10
-              sizes[NFASTBINS - 1 + i].from
00db10
-                = MIN (sizes[NFASTBINS - 1 + i].from, r->size);
00db10
-              sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
00db10
-                                                 r->size);
00db10
-
00db10
-              r = r->fd;
00db10
-            }
00db10
-
00db10
-        if (sizes[NFASTBINS - 1 + i].count == 0)
00db10
-          sizes[NFASTBINS - 1 + i].from = 0;
00db10
-        nblocks += sizes[NFASTBINS - 1 + i].count;
00db10
-        avail += sizes[NFASTBINS - 1 + i].total;
00db10
-      }
00db10
+	  sizes[i].total = sizes[i].count * sizes[i].to;
00db10
+	}
00db10
 
00db10
-    mutex_unlock (&ar_ptr->mutex);
00db10
 
00db10
-    total_nfastblocks += nfastblocks;
00db10
-    total_fastavail += fastavail;
00db10
+      mbinptr bin;
00db10
+      struct malloc_chunk *r;
00db10
 
00db10
-    total_nblocks += nblocks;
00db10
-    total_avail += avail;
00db10
+      for (size_t i = 1; i < NBINS; ++i)
00db10
+	{
00db10
+	  bin = bin_at (ar_ptr, i);
00db10
+	  r = bin->fd;
00db10
+	  sizes[NFASTBINS - 1 + i].from = ~((size_t) 0);
00db10
+	  sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
00db10
+					  = sizes[NFASTBINS - 1 + i].count = 0;
00db10
+
00db10
+	  if (r != NULL)
00db10
+	    while (r != bin)
00db10
+	      {
00db10
+		++sizes[NFASTBINS - 1 + i].count;
00db10
+		sizes[NFASTBINS - 1 + i].total += r->size;
00db10
+		sizes[NFASTBINS - 1 + i].from
00db10
+		  = MIN (sizes[NFASTBINS - 1 + i].from, r->size);
00db10
+		sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
00db10
+						   r->size);
00db10
+
00db10
+		r = r->fd;
00db10
+	      }
00db10
 
00db10
-    for (size_t i = 0; i < nsizes; ++i)
00db10
-      if (sizes[i].count != 0 && i != NFASTBINS)
00db10
-        fprintf (fp, "							      \
00db10
-<size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
00db10
-                 sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
00db10
+	  if (sizes[NFASTBINS - 1 + i].count == 0)
00db10
+	    sizes[NFASTBINS - 1 + i].from = 0;
00db10
+	  nblocks += sizes[NFASTBINS - 1 + i].count;
00db10
+	  avail += sizes[NFASTBINS - 1 + i].total;
00db10
+	}
00db10
 
00db10
-    if (sizes[NFASTBINS].count != 0)
00db10
-      fprintf (fp, "\
00db10
-<unsorted from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
00db10
-               sizes[NFASTBINS].from, sizes[NFASTBINS].to,
00db10
-               sizes[NFASTBINS].total, sizes[NFASTBINS].count);
00db10
+      mutex_unlock (&ar_ptr->mutex);
00db10
 
00db10
-    total_system += ar_ptr->system_mem;
00db10
-    total_max_system += ar_ptr->max_system_mem;
00db10
+      total_nfastblocks += nfastblocks;
00db10
+      total_fastavail += fastavail;
00db10
 
00db10
-    fprintf (fp,
00db10
-             "</sizes>\n<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
00db10
-             "<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
00db10
-             "<system type=\"current\" size=\"%zu\"/>\n"
00db10
-             "<system type=\"max\" size=\"%zu\"/>\n",
00db10
-             nfastblocks, fastavail, nblocks, avail,
00db10
-             ar_ptr->system_mem, ar_ptr->max_system_mem);
00db10
+      total_nblocks += nblocks;
00db10
+      total_avail += avail;
00db10
 
00db10
-    if (ar_ptr != &main_arena)
00db10
-      {
00db10
-        heap_info *heap = heap_for_ptr (top (ar_ptr));
00db10
-        fprintf (fp,
00db10
-                 "<aspace type=\"total\" size=\"%zu\"/>\n"
00db10
-                 "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
00db10
-                 heap->size, heap->mprotect_size);
00db10
-        total_aspace += heap->size;
00db10
-        total_aspace_mprotect += heap->mprotect_size;
00db10
-      }
00db10
-    else
00db10
-      {
00db10
-        fprintf (fp,
00db10
-                 "<aspace type=\"total\" size=\"%zu\"/>\n"
00db10
-                 "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
00db10
-                 ar_ptr->system_mem, ar_ptr->system_mem);
00db10
-        total_aspace += ar_ptr->system_mem;
00db10
-        total_aspace_mprotect += ar_ptr->system_mem;
00db10
-      }
00db10
+      for (size_t i = 0; i < nsizes; ++i)
00db10
+	if (sizes[i].count != 0 && i != NFASTBINS)
00db10
+	  fprintf (fp, "							      \
00db10
+  <size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
00db10
+		   sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
00db10
 
00db10
-    fputs ("</heap>\n", fp);
00db10
-  }
00db10
+      if (sizes[NFASTBINS].count != 0)
00db10
+	fprintf (fp, "\
00db10
+  <unsorted from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
00db10
+		 sizes[NFASTBINS].from, sizes[NFASTBINS].to,
00db10
+		 sizes[NFASTBINS].total, sizes[NFASTBINS].count);
00db10
 
00db10
-  if (__malloc_initialized < 0)
00db10
-    ptmalloc_init ();
00db10
+      total_system += ar_ptr->system_mem;
00db10
+      total_max_system += ar_ptr->max_system_mem;
00db10
 
00db10
-  fputs ("<malloc version=\"1\">\n", fp);
00db10
+      fprintf (fp,
00db10
+	       "</sizes>\n<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
00db10
+	       "<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
00db10
+	       "<system type=\"current\" size=\"%zu\"/>\n"
00db10
+	       "<system type=\"max\" size=\"%zu\"/>\n",
00db10
+	       nfastblocks, fastavail, nblocks, avail,
00db10
+	       ar_ptr->system_mem, ar_ptr->max_system_mem);
00db10
 
00db10
-  /* Iterate over all arenas currently in use.  */
00db10
-  mstate ar_ptr = &main_arena;
00db10
-  do
00db10
-    {
00db10
-      mi_arena (ar_ptr);
00db10
+      if (ar_ptr != &main_arena)
00db10
+	{
00db10
+	  heap_info *heap = heap_for_ptr (top (ar_ptr));
00db10
+	  fprintf (fp,
00db10
+		   "<aspace type=\"total\" size=\"%zu\"/>\n"
00db10
+		   "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
00db10
+		   heap->size, heap->mprotect_size);
00db10
+	  total_aspace += heap->size;
00db10
+	  total_aspace_mprotect += heap->mprotect_size;
00db10
+	}
00db10
+      else
00db10
+	{
00db10
+	  fprintf (fp,
00db10
+		   "<aspace type=\"total\" size=\"%zu\"/>\n"
00db10
+		   "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
00db10
+		   ar_ptr->system_mem, ar_ptr->system_mem);
00db10
+	  total_aspace += ar_ptr->system_mem;
00db10
+	  total_aspace_mprotect += ar_ptr->system_mem;
00db10
+	}
00db10
+
00db10
+      fputs ("</heap>\n", fp);
00db10
       ar_ptr = ar_ptr->next;
00db10
     }
00db10
   while (ar_ptr != &main_arena);