From a76bc40240b725442f23738d4d5603cb10d4baf6 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 2 Feb 2012 16:24:04 +0100 Subject: [PATCH] who needs aligned mallocs anyway? --- src/xbt/mmalloc/mfree.c | 12 +------- src/xbt/mmalloc/mm.c | 1 - src/xbt/mmalloc/mm_legacy.c | 11 -------- src/xbt/mmalloc/mmemalign.c | 56 ------------------------------------- src/xbt/mmalloc/mmprivate.h | 8 ------ 5 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 src/xbt/mmalloc/mmemalign.c diff --git a/src/xbt/mmalloc/mfree.c b/src/xbt/mmalloc/mfree.c index ff89699679..59cac74b08 100644 --- a/src/xbt/mmalloc/mfree.c +++ b/src/xbt/mmalloc/mfree.c @@ -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); - } } diff --git a/src/xbt/mmalloc/mm.c b/src/xbt/mmalloc/mm.c index 137f461ab3..b8ef55cb5a 100644 --- a/src/xbt/mmalloc/mm.c +++ b/src/xbt/mmalloc/mm.c @@ -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" diff --git a/src/xbt/mmalloc/mm_legacy.c b/src/xbt/mmalloc/mm_legacy.c index 7f898308cb..f757d7cd65 100644 --- a/src/xbt/mmalloc/mm_legacy.c +++ b/src/xbt/mmalloc/mm_legacy.c @@ -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 index 3b600be102..0000000000 --- a/src/xbt/mmalloc/mmemalign.c +++ /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); -} - diff --git a/src/xbt/mmalloc/mmprivate.h b/src/xbt/mmalloc/mmprivate.h index 41717886b8..5396e557b1 100644 --- a/src/xbt/mmalloc/mmprivate.h +++ b/src/xbt/mmalloc/mmprivate.h @@ -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; -- 2.20.1