diff options
-rw-r--r-- | sys/kern/kern_malloc.c | 23 | ||||
-rw-r--r-- | sys/sys/malloc.h | 13 |
2 files changed, 23 insertions, 13 deletions
diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index ed2c7c6..6964dde 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_malloc.c 8.3 (Berkeley) 1/4/94 - * $Id: kern_malloc.c,v 1.28 1997/08/05 00:01:23 dyson Exp $ + * $Id: kern_malloc.c,v 1.29 1997/09/02 20:05:39 bde Exp $ */ #include <sys/param.h> @@ -52,11 +52,22 @@ static void kmeminit __P((void *)); SYSINIT(kmem, SI_SUB_KMEM, SI_ORDER_FIRST, kmeminit, NULL) -static struct kmembuckets bucket[MINBUCKET + 16]; -struct kmemstats kmemstats[M_LAST]; -struct kmemusage *kmemusage; -char *kmembase, *kmemlimit; -char *memname[] = INITKMEMNAMES; +#if defined(KMEMSTATS) || defined(DIAGNOSTIC) +#define MAYBE_STATIC static +#else +#define MAYBE_STATIC +#endif + +MAYBE_STATIC struct kmembuckets bucket[MINBUCKET + 16]; +#ifdef KMEMSTATS +static struct kmemstats kmemstats[M_LAST]; +#endif +MAYBE_STATIC struct kmemusage *kmemusage; +MAYBE_STATIC char *kmembase; +static char *kmemlimit; +#if defined(KMEMSTATS) || defined(DIAGNOSTIC) +static char *memname[] = INITKMEMNAMES; +#endif #ifdef DIAGNOSTIC /* diff --git a/sys/sys/malloc.h b/sys/sys/malloc.h index 1895b45..7758629 100644 --- a/sys/sys/malloc.h +++ b/sys/sys/malloc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)malloc.h 8.5 (Berkeley) 5/3/95 - * $Id: malloc.h,v 1.22 1997/08/05 00:01:43 dyson Exp $ + * $Id: malloc.h,v 1.23 1997/08/16 19:16:10 wollman Exp $ */ #ifndef _SYS_MALLOC_H_ @@ -322,7 +322,7 @@ struct kmembuckets { #define FREE(addr, type) free((addr), type) #else /* do not collect statistics */ -#define MALLOC(space, cast, size, type, flags) { \ +#define MALLOC(space, cast, size, type, flags) do { \ register struct kmembuckets *kbp = &bucket[BUCKETINDX(size)]; \ long s = splimp(); \ if (kbp->kb_next == NULL) { \ @@ -332,9 +332,9 @@ struct kmembuckets { kbp->kb_next = *(caddr_t *)(space); \ } \ splx(s); \ -} +} while (0) -#define FREE(addr, type) { \ +#define FREE(addr, type) do { \ register struct kmembuckets *kbp; \ register struct kmemusage *kup = btokup(addr); \ long s = splimp(); \ @@ -350,13 +350,12 @@ struct kmembuckets { kbp->kb_last = (caddr_t)(addr); \ } \ splx(s); \ -} -#endif /* do not collect statistics */ +} while (0) -extern struct kmemstats kmemstats[]; extern struct kmemusage *kmemusage; extern char *kmembase; extern struct kmembuckets bucket[]; +#endif /* do not collect statistics */ void *contigmalloc __P((unsigned long size, int type, int flags, unsigned long low, unsigned long high, |