Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
who needs aligned mallocs anyway?
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 2 Feb 2012 15:24:04 +0000 (16:24 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 2 Feb 2012 15:24:04 +0000 (16:24 +0100)
src/xbt/mmalloc/mfree.c
src/xbt/mmalloc/mm.c
src/xbt/mmalloc/mm_legacy.c
src/xbt/mmalloc/mmemalign.c [deleted file]
src/xbt/mmalloc/mmprivate.h

index ff89699..59cac74 100644 (file)
@@ -154,16 +154,6 @@ void __mmalloc_free(struct mdesc *mdp, void *ptr)
 
 void mfree(xbt_mheap_t mdp, void *ptr)
 {
-  register struct alignlist *l;
-
-  if (ptr != NULL) {
-    for (l = mdp->aligned_blocks; l != NULL; l = l->next) {
-      if (l->aligned == ptr) {
-        l->aligned = NULL;      /* Mark the slot in the list as free. */
-        ptr = l->exact;
-        break;
-      }
-    }
+  if (ptr != NULL)
     __mmalloc_free(mdp, ptr);
-  }
 }
index 137f461..b8ef55c 100644 (file)
@@ -18,7 +18,6 @@
 #include "mcalloc.c"
 #include "mfree.c"
 #include "mmalloc.c"
-#include "mmemalign.c"
 #include "mrealloc.c"
 #include "mmorecore.c"
 #include "mm_module.c"
index 7f89830..f757d7c 100644 (file)
@@ -460,14 +460,3 @@ int mmalloc_compare_mdesc(struct mdesc *mdp1, struct mdesc *mdp2, void *std_heap
 void mmalloc_display_info_heap(xbt_mheap_t h){
 
 }  
-
-/* Useless prototype to make gcc happy */
-void *valloc(size_t size);
-
-void *valloc(size_t size)
-{ //FIXME: won't work
-  return mvalloc(NULL, size);
-}
-
-  
-
diff --git a/src/xbt/mmalloc/mmemalign.c b/src/xbt/mmalloc/mmemalign.c
deleted file mode 100644 (file)
index 3b600be..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-   This file was then part of the GNU C Library. */
-
-/* Copyright (c) 2010. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include "mmprivate.h"
-
-void *mmemalign(xbt_mheap_t mdp, size_t alignment, size_t size)
-{
-  void *result;
-  unsigned long int adj;
-  struct alignlist *l;
-
-  if ((result = mmalloc(mdp, size + alignment - 1)) != NULL) {
-    adj = RESIDUAL(result, alignment);
-    if (adj != 0) {
-      for (l = mdp->aligned_blocks; l != NULL; l = l->next) {
-        if (l->aligned == NULL) {
-          /* This slot is free.  Use it.  */
-          break;
-        }
-      }
-      if (l == NULL) { /* No empty entry. Create & link a new one */
-        l = (struct alignlist *) mmalloc(mdp, sizeof(struct alignlist));
-        if (l == NULL) {  /* malloc error */
-          mfree(mdp, result);
-          return (NULL);
-        }
-        l->next = mdp->aligned_blocks;
-        mdp->aligned_blocks = l;
-      }
-      l->exact = result;
-      result = l->aligned = (char *) result + alignment - adj;
-    }
-  }
-  return (result);
-}
-
-/* Cache the pagesize for the current host machine.  Note that if the host
-   does not readily provide a getpagesize() function, we need to emulate it
-   elsewhere, not clutter up this file with lots of kluges to try to figure
-   it out. */
-static size_t cache_pagesize;
-
-void *mvalloc(xbt_mheap_t mdp, size_t size)
-{
-  if (cache_pagesize == 0)
-    cache_pagesize = getpagesize();
-
-  return mmemalign(mdp, cache_pagesize, size);
-}
-
index 4171788..5396e55 100644 (file)
@@ -103,14 +103,6 @@ typedef union {
   } free;
 } malloc_info;
 
-/* List of blocks allocated with `mmemalign' (or `mvalloc').  */
-
-struct alignlist {
-  struct alignlist *next;
-  void *aligned;                /* The address that mmemaligned returned.  */
-  void *exact;                  /* The address that malloc returned.  */
-};
-
 /* Doubly linked lists of free fragments.  */
 struct list {
   struct list *next;