diff options
author | bde <bde@FreeBSD.org> | 1997-09-16 13:52:04 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1997-09-16 13:52:04 +0000 |
commit | 64d0bec2a826107aa4006f6e9dc8ec97d812eded (patch) | |
tree | 6d11e78230701e0aa363f81df4cee42e9fdaf56d | |
parent | 1062c10a868b291bcfcaf2a5ea696b6bbb4acb37 (diff) | |
download | FreeBSD-src-64d0bec2a826107aa4006f6e9dc8ec97d812eded.zip FreeBSD-src-64d0bec2a826107aa4006f6e9dc8ec97d812eded.tar.gz |
Fixed staticization. buckets[] was staticized but was still declared
extern in <sys/malloc.h> and it should not have been staticized for
the !(KMEMSTATS || DIAGNOSTIC) case.
Fixed the !(KMEMSTATS || DIAGNOSTIC) case. The MALLOC() and FREE()
macros are evil, but code generally doesn't allow for this and some code
involving else clauses did not compile.
Finished staticization.
-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, |