-
/* Functions to support a pool of allocatable objects
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
+
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
#ifndef ALLOC_POOL_H
#define ALLOC_POOL_H
+typedef unsigned long ALLOC_POOL_ID_TYPE;
+
typedef struct alloc_pool_list_def
{
struct alloc_pool_list_def *next;
typedef struct alloc_pool_def
{
- char *name;
+ const char *name;
+#ifdef ENABLE_CHECKING
+ ALLOC_POOL_ID_TYPE id;
+#endif
size_t elts_per_block;
alloc_pool_list free_list;
size_t elts_allocated;
}
*alloc_pool;
-extern alloc_pool create_alloc_pool PARAMS ((const char *, size_t, size_t));
-extern void free_alloc_pool PARAMS ((alloc_pool));
-extern void *pool_alloc PARAMS ((alloc_pool));
-extern void pool_free PARAMS ((alloc_pool, void *));
+extern alloc_pool create_alloc_pool (const char *, size_t, size_t);
+extern void free_alloc_pool (alloc_pool);
+extern void *pool_alloc (alloc_pool);
+extern void pool_free (alloc_pool, void *);
+extern void dump_alloc_pool_statistics (void);
#endif