Module Name: src
Committed By: rillig
Date: Mon Nov 16 21:44:29 UTC 2020
Modified Files:
src/usr.bin/make: targ.c
Log Message:
make(1): in CLEANUP mode, preallocate list of all GNodes
This makes the code simpler and more uniform.
To generate a diff of this commit:
cvs rdiff -u -r1.129 -r1.130 src/usr.bin/make/targ.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/targ.c
diff -u src/usr.bin/make/targ.c:1.129 src/usr.bin/make/targ.c:1.130
--- src/usr.bin/make/targ.c:1.129 Mon Nov 16 21:41:02 2020
+++ src/usr.bin/make/targ.c Mon Nov 16 21:44:29 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: targ.c,v 1.129 2020/11/16 21:41:02 rillig Exp $ */
+/* $NetBSD: targ.c,v 1.130 2020/11/16 21:44:29 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -121,13 +121,14 @@
#include "dir.h"
/* "@(#)targ.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: targ.c,v 1.129 2020/11/16 21:41:02 rillig Exp $");
+MAKE_RCSID("$NetBSD: targ.c,v 1.130 2020/11/16 21:44:29 rillig Exp $");
static GNodeList *allTargets; /* the list of all targets found so far */
+static HashTable targets; /* a hash table of same */
+
#ifdef CLEANUP
static GNodeList *allGNs; /* List of all the GNodes */
#endif
-static HashTable targets; /* a hash table of same */
#ifdef CLEANUP
static void GNode_Free(void *);
@@ -138,6 +139,9 @@ Targ_Init(void)
{
allTargets = Lst_New();
HashTable_Init(&targets);
+#ifdef CLEANUP
+ allGNs = Lst_New();
+#endif
}
void
@@ -146,9 +150,8 @@ Targ_End(void)
Targ_Stats();
#ifdef CLEANUP
Lst_Free(allTargets);
- if (allGNs != NULL)
- Lst_Destroy(allGNs, GNode_Free);
HashTable_Done(&targets);
+ Lst_Destroy(allGNs, GNode_Free);
#endif
}
@@ -203,8 +206,6 @@ GNode_New(const char *name)
gn->lineno = 0;
#ifdef CLEANUP
- if (allGNs == NULL)
- allGNs = Lst_New();
Lst_Append(allGNs, gn);
#endif