Remove mi_arena nested function.
authorOndřej Bílka <neleai@seznam.cz>
Fri, 30 May 2014 11:24:56 +0000 (13:24 +0200)
committerOndřej Bílka <neleai@seznam.cz>
Fri, 30 May 2014 11:25:43 +0000 (13:25 +0200)
ChangeLog
malloc/malloc.c

index 8e06a7e..c2351d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-30  Ondřej Bílka  <neleai@seznam.cz>
+
+       * malloc/malloc.c (malloc_info): Inline mi_arena.
+
 2014-05-29  Richard Henderson  <rth@twiddle.net>
 
        * sysdeps/unix/sysv/linux/aarch64/sysdep.h (INTERNAL_VSYSCALL_NCS):
index 1120d4d..963a333 100644 (file)
@@ -5004,147 +5004,143 @@ malloc_info (int options, FILE *fp)
   size_t total_aspace = 0;
   size_t total_aspace_mprotect = 0;
 
-  void
-  mi_arena (mstate ar_ptr)
-  {
-    fprintf (fp, "<heap nr=\"%d\">\n<sizes>\n", n++);
-
-    size_t nblocks = 0;
-    size_t nfastblocks = 0;
-    size_t avail = 0;
-    size_t fastavail = 0;
-    struct
-    {
-      size_t from;
-      size_t to;
-      size_t total;
-      size_t count;
-    } sizes[NFASTBINS + NBINS - 1];
-#define nsizes (sizeof (sizes) / sizeof (sizes[0]))
-
-    mutex_lock (&ar_ptr->mutex);
 
-    for (size_t i = 0; i < NFASTBINS; ++i)
-      {
-        mchunkptr p = fastbin (ar_ptr, i);
-        if (p != NULL)
-          {
-            size_t nthissize = 0;
-            size_t thissize = chunksize (p);
 
-            while (p != NULL)
-              {
-                ++nthissize;
-                p = p->fd;
-              }
+  if (__malloc_initialized < 0)
+    ptmalloc_init ();
 
-            fastavail += nthissize * thissize;
-            nfastblocks += nthissize;
-            sizes[i].from = thissize - (MALLOC_ALIGNMENT - 1);
-            sizes[i].to = thissize;
-            sizes[i].count = nthissize;
-          }
-        else
-          sizes[i].from = sizes[i].to = sizes[i].count = 0;
+  fputs ("<malloc version=\"1\">\n", fp);
 
-        sizes[i].total = sizes[i].count * sizes[i].to;
-      }
+  /* Iterate over all arenas currently in use.  */
+  mstate ar_ptr = &main_arena;
+  do
+    {
+      fprintf (fp, "<heap nr=\"%d\">\n<sizes>\n", n++);
 
+      size_t nblocks = 0;
+      size_t nfastblocks = 0;
+      size_t avail = 0;
+      size_t fastavail = 0;
+      struct
+      {
+       size_t from;
+       size_t to;
+       size_t total;
+       size_t count;
+      } sizes[NFASTBINS + NBINS - 1];
+#define nsizes (sizeof (sizes) / sizeof (sizes[0]))
 
-    mbinptr bin;
-    struct malloc_chunk *r;
+      mutex_lock (&ar_ptr->mutex);
 
-    for (size_t i = 1; i < NBINS; ++i)
-      {
-        bin = bin_at (ar_ptr, i);
-        r = bin->fd;
-        sizes[NFASTBINS - 1 + i].from = ~((size_t) 0);
-        sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
-                                        = sizes[NFASTBINS - 1 + i].count = 0;
-
-        if (r != NULL)
-          while (r != bin)
-            {
-              ++sizes[NFASTBINS - 1 + i].count;
-              sizes[NFASTBINS - 1 + i].total += r->size;
-              sizes[NFASTBINS - 1 + i].from
-                = MIN (sizes[NFASTBINS - 1 + i].from, r->size);
-              sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
-                                                 r->size);
-
-              r = r->fd;
-            }
+      for (size_t i = 0; i < NFASTBINS; ++i)
+       {
+         mchunkptr p = fastbin (ar_ptr, i);
+         if (p != NULL)
+           {
+             size_t nthissize = 0;
+             size_t thissize = chunksize (p);
+
+             while (p != NULL)
+               {
+                 ++nthissize;
+                 p = p->fd;
+               }
+
+             fastavail += nthissize * thissize;
+             nfastblocks += nthissize;
+             sizes[i].from = thissize - (MALLOC_ALIGNMENT - 1);
+             sizes[i].to = thissize;
+             sizes[i].count = nthissize;
+           }
+         else
+           sizes[i].from = sizes[i].to = sizes[i].count = 0;
 
-        if (sizes[NFASTBINS - 1 + i].count == 0)
-          sizes[NFASTBINS - 1 + i].from = 0;
-        nblocks += sizes[NFASTBINS - 1 + i].count;
-        avail += sizes[NFASTBINS - 1 + i].total;
-      }
+         sizes[i].total = sizes[i].count * sizes[i].to;
+       }
 
-    mutex_unlock (&ar_ptr->mutex);
 
-    total_nfastblocks += nfastblocks;
-    total_fastavail += fastavail;
+      mbinptr bin;
+      struct malloc_chunk *r;
 
-    total_nblocks += nblocks;
-    total_avail += avail;
+      for (size_t i = 1; i < NBINS; ++i)
+       {
+         bin = bin_at (ar_ptr, i);
+         r = bin->fd;
+         sizes[NFASTBINS - 1 + i].from = ~((size_t) 0);
+         sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
+                                         = sizes[NFASTBINS - 1 + i].count = 0;
+
+         if (r != NULL)
+           while (r != bin)
+             {
+               ++sizes[NFASTBINS - 1 + i].count;
+               sizes[NFASTBINS - 1 + i].total += r->size;
+               sizes[NFASTBINS - 1 + i].from
+                 = MIN (sizes[NFASTBINS - 1 + i].from, r->size);
+               sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
+                                                  r->size);
+
+               r = r->fd;
+             }
+
+         if (sizes[NFASTBINS - 1 + i].count == 0)
+           sizes[NFASTBINS - 1 + i].from = 0;
+         nblocks += sizes[NFASTBINS - 1 + i].count;
+         avail += sizes[NFASTBINS - 1 + i].total;
+       }
 
-    for (size_t i = 0; i < nsizes; ++i)
-      if (sizes[i].count != 0 && i != NFASTBINS)
-        fprintf (fp, "                                                       \
-<size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
-                 sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
+      mutex_unlock (&ar_ptr->mutex);
 
-    if (sizes[NFASTBINS].count != 0)
-      fprintf (fp, "\
-<unsorted from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
-               sizes[NFASTBINS].from, sizes[NFASTBINS].to,
-               sizes[NFASTBINS].total, sizes[NFASTBINS].count);
+      total_nfastblocks += nfastblocks;
+      total_fastavail += fastavail;
 
-    total_system += ar_ptr->system_mem;
-    total_max_system += ar_ptr->max_system_mem;
+      total_nblocks += nblocks;
+      total_avail += avail;
 
-    fprintf (fp,
-             "</sizes>\n<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
-             "<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
-             "<system type=\"current\" size=\"%zu\"/>\n"
-             "<system type=\"max\" size=\"%zu\"/>\n",
-             nfastblocks, fastavail, nblocks, avail,
-             ar_ptr->system_mem, ar_ptr->max_system_mem);
+      for (size_t i = 0; i < nsizes; ++i)
+       if (sizes[i].count != 0 && i != NFASTBINS)
+         fprintf (fp, "                                                              \
+  <size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
+                  sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
 
-    if (ar_ptr != &main_arena)
-      {
-        heap_info *heap = heap_for_ptr (top (ar_ptr));
-        fprintf (fp,
-                 "<aspace type=\"total\" size=\"%zu\"/>\n"
-                 "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
-                 heap->size, heap->mprotect_size);
-        total_aspace += heap->size;
-        total_aspace_mprotect += heap->mprotect_size;
-      }
-    else
-      {
-        fprintf (fp,
-                 "<aspace type=\"total\" size=\"%zu\"/>\n"
-                 "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
-                 ar_ptr->system_mem, ar_ptr->system_mem);
-        total_aspace += ar_ptr->system_mem;
-        total_aspace_mprotect += ar_ptr->system_mem;
-      }
+      if (sizes[NFASTBINS].count != 0)
+       fprintf (fp, "\
+  <unsorted from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
+                sizes[NFASTBINS].from, sizes[NFASTBINS].to,
+                sizes[NFASTBINS].total, sizes[NFASTBINS].count);
 
-    fputs ("</heap>\n", fp);
-  }
+      total_system += ar_ptr->system_mem;
+      total_max_system += ar_ptr->max_system_mem;
 
-  if (__malloc_initialized < 0)
-    ptmalloc_init ();
+      fprintf (fp,
+              "</sizes>\n<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
+              "<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
+              "<system type=\"current\" size=\"%zu\"/>\n"
+              "<system type=\"max\" size=\"%zu\"/>\n",
+              nfastblocks, fastavail, nblocks, avail,
+              ar_ptr->system_mem, ar_ptr->max_system_mem);
 
-  fputs ("<malloc version=\"1\">\n", fp);
+      if (ar_ptr != &main_arena)
+       {
+         heap_info *heap = heap_for_ptr (top (ar_ptr));
+         fprintf (fp,
+                  "<aspace type=\"total\" size=\"%zu\"/>\n"
+                  "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
+                  heap->size, heap->mprotect_size);
+         total_aspace += heap->size;
+         total_aspace_mprotect += heap->mprotect_size;
+       }
+      else
+       {
+         fprintf (fp,
+                  "<aspace type=\"total\" size=\"%zu\"/>\n"
+                  "<aspace type=\"mprotect\" size=\"%zu\"/>\n",
+                  ar_ptr->system_mem, ar_ptr->system_mem);
+         total_aspace += ar_ptr->system_mem;
+         total_aspace_mprotect += ar_ptr->system_mem;
+       }
 
-  /* Iterate over all arenas currently in use.  */
-  mstate ar_ptr = &main_arena;
-  do
-    {
-      mi_arena (ar_ptr);
+      fputs ("</heap>\n", fp);
       ar_ptr = ar_ptr->next;
     }
   while (ar_ptr != &main_arena);