X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fadt%2Fpdeq.c;h=8d596d0f3e574d1e0b3354f38abd185d918712b4;hb=3da5ed2598245b896255bc444aaa1768f6098cfe;hp=456a46989fface20ce79e1362684341b40433860;hpb=b4cd51a6780a5a17059e097f04a536853bb3715f;p=libfirm diff --git a/ir/adt/pdeq.c b/ir/adt/pdeq.c index 456a46989..8d596d0f3 100644 --- a/ir/adt/pdeq.c +++ b/ir/adt/pdeq.c @@ -1,28 +1,34 @@ /* - * Project: libFIRM - * File name: ir/adt/pdeq.c - * Purpose: Pdeq --- double ended queue of generic pointers. - * Author: Christian von Roques - * Modified by: - * Created: 1999 by getting from fiasco - * CVS-ID: $Id$ - * Copyright: (c) 1995, 1996 Christian von Roques - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. + * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif -#ifdef HAVE_STDIO_H -# include -#endif -#ifdef HAVE_STDLIB_H -# include -#endif -#ifdef HAVE_STRING_H -# include -#endif +/** + * @file + * @brief double ended queue of generic pointers. + * @author Christian von Roques + * @date 1999 by getting from fiasco + * @version $Id$ + */ +#include "config.h" +#include +#include +#include #include #include "fourcc.h" @@ -37,6 +43,9 @@ /** Size of pdeq block cache. */ #define TUNE_NSAVED_PDEQS 16 +/** A size handled efficiently by malloc(), at least 1K. */ +#define PREF_MALLOC_SIZE 2048 + /** * Maximal number of data items in a pdeq chunk. */ @@ -80,7 +89,7 @@ static unsigned pdeqs_cached; * * @param p The pdeq chunk. */ -static INLINE void free_pdeq_block (pdeq *p) +static inline void free_pdeq_block (pdeq *p) { #ifndef NDEBUG p->magic = 0xbadf00d1; @@ -97,7 +106,7 @@ static INLINE void free_pdeq_block (pdeq *p) * * @return A new pdeq chunk. */ -static INLINE pdeq *alloc_pdeq_block (void) +static inline pdeq *alloc_pdeq_block (void) { pdeq *p; if (TUNE_NSAVED_PDEQS && pdeqs_cached) { @@ -439,11 +448,11 @@ void **pdeq_copyl(pdeq *dq, const void **dst) if (n + p > NDATA) { int nn = NDATA - p; - memcpy(d, &q->data[p], nn * sizeof(void *)); d += nn; + memcpy((void *) d, &q->data[p], nn * sizeof(void *)); d += nn; p = 0; n -= nn; } - memcpy(d, &q->data[p], n * sizeof(void *)); d += n; + memcpy((void *) d, &q->data[p], n * sizeof(void *)); d += n; q = q->r; }