Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make(1): inline and remove LstNode_Prev and Lst...
details: https://anonhg.NetBSD.org/src/rev/e2be1f71466f
branches: trunk
changeset: 939389:e2be1f71466f
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Sep 26 17:15:20 2020 +0000
description:
make(1): inline and remove LstNode_Prev and LstNode_Next
These functions made the code larger than necessary. The prev and next
fields are published intentionally since navigating in a doubly-linked
list is simple to do and there is no need to wrap this in a layer of
function calls, not even syntactically. (On the execution level, the
function calls had been inlined anyway.)
diffstat:
usr.bin/make/dir.c | 13 ++++++-------
usr.bin/make/job.c | 10 +++++-----
usr.bin/make/lst.c | 7 +++----
usr.bin/make/lst.h | 12 +++---------
usr.bin/make/main.c | 8 ++++----
usr.bin/make/make.c | 6 +++---
usr.bin/make/meta.c | 6 +++---
usr.bin/make/suff.c | 19 +++++++++----------
usr.bin/make/targ.c | 20 ++++++++++----------
9 files changed, 46 insertions(+), 55 deletions(-)
diffs (truncated from 358 to 300 lines):
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/dir.c
--- a/usr.bin/make/dir.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/dir.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.c,v 1.147 2020/09/25 06:49:13 rillig Exp $ */
+/* $NetBSD: dir.c,v 1.148 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -134,7 +134,7 @@
#include "job.h"
/* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: dir.c,v 1.147 2020/09/25 06:49:13 rillig Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.148 2020/09/26 17:15:20 rillig Exp $");
#define DIR_DEBUG0(fmt) \
if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt)
@@ -1705,10 +1705,9 @@
Dir_Concat(SearchPath *path1, SearchPath *path2)
{
SearchPathNode *ln;
- CachedDir *dir;
- for (ln = Lst_First(path2); ln != NULL; ln = LstNode_Next(ln)) {
- dir = LstNode_Datum(ln);
+ for (ln = path2->first; ln != NULL; ln = ln->next) {
+ CachedDir *dir = ln->datum;
if (Lst_FindDatum(path1, dir) == NULL) {
dir->refCount += 1;
Lst_Append(path1, dir);
@@ -1746,8 +1745,8 @@
Dir_PrintPath(SearchPath *path)
{
SearchPathNode *node;
- for (node = Lst_First(path); node != NULL; node = LstNode_Next(node)) {
- const CachedDir *dir = LstNode_Datum(node);
+ for (node = path->first; node != NULL; node = node->next) {
+ const CachedDir *dir = node->datum;
fprintf(debug_file, "%s ", dir->name);
}
}
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/job.c
--- a/usr.bin/make/job.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/job.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: job.c,v 1.240 2020/09/26 16:55:58 rillig Exp $ */
+/* $NetBSD: job.c,v 1.241 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -140,7 +140,7 @@
#include "trace.h"
/* "@(#)job.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: job.c,v 1.240 2020/09/26 16:55:58 rillig Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.241 2020/09/26 17:15:20 rillig Exp $");
# define STATIC static
@@ -689,7 +689,7 @@
job->node->type |= OP_SAVE_CMDS;
if ((job->flags & JOB_IGNDOTS) == 0) {
StringListNode *dotsNode = Lst_FindDatum(job->node->commands, cmd);
- job->tailCmds = dotsNode != NULL ? LstNode_Next(dotsNode) : NULL;
+ job->tailCmds = dotsNode != NULL ? dotsNode->next : NULL;
return 1;
}
return 0;
@@ -884,8 +884,8 @@
{
StringListNode *node;
- for (node = job->tailCmds; node != NULL; node = LstNode_Next(node)) {
- char *cmd = LstNode_Datum(node);
+ for (node = job->tailCmds; node != NULL; node = node->next) {
+ const char *cmd = node->datum;
char *expanded_cmd;
/* XXX: This Var_Subst is only intended to expand the dynamic
* variables such as .TARGET, .IMPSRC. It is not intended to
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/lst.c
--- a/usr.bin/make/lst.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/lst.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lst.c,v 1.71 2020/09/25 04:18:11 rillig Exp $ */
+/* $NetBSD: lst.c,v 1.72 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -34,7 +34,7 @@
#include "make.h"
-MAKE_RCSID("$NetBSD: lst.c,v 1.71 2020/09/25 04:18:11 rillig Exp $");
+MAKE_RCSID("$NetBSD: lst.c,v 1.72 2020/09/26 17:15:20 rillig Exp $");
/* Allocate and initialize a list node.
*
@@ -290,8 +290,7 @@
/* Return the first node from the list, starting at the given node, for which
* the match function returns TRUE, or NULL if none of the nodes matches.
*
- * The start node may be NULL, in which case nothing is found. This allows
- * for passing Lst_First or LstNode_Next as the start node. */
+ * The start node may be NULL, in which case nothing is found. */
ListNode *
Lst_FindFrom(List *list, ListNode *node, LstFindProc match, const void *matchArgs)
{
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/lst.h
--- a/usr.bin/make/lst.h Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/lst.h Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lst.h,v 1.68 2020/09/25 15:54:50 rillig Exp $ */
+/* $NetBSD: lst.h,v 1.69 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -88,8 +88,8 @@
typedef struct ListNode ListNode;
struct ListNode {
- ListNode *prev; /* previous element in list */
- ListNode *next; /* next in list */
+ ListNode *prev; /* previous node in list, or NULL */
+ ListNode *next; /* next node in list, or NULL */
uint8_t priv_useCount; /* Count of functions using the node.
* node may not be deleted until count
* goes to 0 */
@@ -175,12 +175,6 @@
/* Node-specific functions */
-/* Return the successor of the node, or NULL. */
-static inline MAKE_ATTR_UNUSED ListNode *
-LstNode_Next(ListNode *node) { return node->next; }
-/* Return the predecessor of the node, or NULL. */
-static inline MAKE_ATTR_UNUSED ListNode *
-LstNode_Prev(ListNode *node) { return node->prev; }
/* Return the datum of the node. Usually not NULL. */
static inline MAKE_ATTR_UNUSED void *
LstNode_Datum(ListNode *node) { return node->datum; }
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/main.c
--- a/usr.bin/make/main.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/main.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.347 2020/09/26 16:55:58 rillig Exp $ */
+/* $NetBSD: main.c,v 1.348 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -126,7 +126,7 @@
#endif
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.347 2020/09/26 16:55:58 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.348 2020/09/26 17:15:20 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\
The Regents of the University of California. All rights reserved.");
@@ -869,8 +869,8 @@
else
expandVars = getBoolean(".MAKE.EXPAND_VARIABLES", FALSE);
- for (ln = Lst_First(variables); ln != NULL; ln = LstNode_Next(ln)) {
- char *var = LstNode_Datum(ln);
+ for (ln = variables->first; ln != NULL; ln = ln->next) {
+ const char *var = ln->datum;
const char *value;
char *p1;
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/make.c
--- a/usr.bin/make/make.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/make.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: make.c,v 1.146 2020/09/26 16:55:58 rillig Exp $ */
+/* $NetBSD: make.c,v 1.147 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -107,7 +107,7 @@
#include "job.h"
/* "@(#)make.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: make.c,v 1.146 2020/09/26 16:55:58 rillig Exp $");
+MAKE_RCSID("$NetBSD: make.c,v 1.147 2020/09/26 17:15:20 rillig Exp $");
static unsigned int checked = 1;/* Sequence # to detect recursion */
static GNodeList *toBeMade; /* The current fringe of the graph. These
@@ -1306,7 +1306,7 @@
GNodeListNode *cln;
GNode *cn;
- for (cln = owln; (cn = LstNode_Datum(cln)) != wn; cln = LstNode_Next(cln)) {
+ for (cln = owln; (cn = cln->datum) != wn; cln = cln->next) {
if (DEBUG(MAKE))
fprintf(debug_file, ".WAIT: add dependency %s%s -> %s\n",
cn->name, cn->cohort_num, wn->name);
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/meta.c
--- a/usr.bin/make/meta.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/meta.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.119 2020/09/24 07:53:32 rillig Exp $ */
+/* $NetBSD: meta.c,v 1.120 2020/09/26 17:15:20 rillig Exp $ */
/*
* Implement 'meta' mode.
@@ -1331,7 +1331,7 @@
do {
char *tp;
nln = Lst_FindFrom(missingFiles,
- LstNode_Next(missingNode),
+ missingNode->next,
path_match, p);
tp = LstNode_Datum(missingNode);
Lst_Remove(missingFiles, missingNode);
@@ -1565,7 +1565,7 @@
oodate = TRUE;
}
free(cmd);
- cmdNode = LstNode_Next(cmdNode);
+ cmdNode = cmdNode->next;
}
} else if (strcmp(buf, "CWD") == 0) {
/*
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/suff.c
--- a/usr.bin/make/suff.c Sat Sep 26 17:02:11 2020 +0000
+++ b/usr.bin/make/suff.c Sat Sep 26 17:15:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.168 2020/09/26 16:00:12 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.169 2020/09/26 17:15:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -126,7 +126,7 @@
#include "dir.h"
/* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */
-MAKE_RCSID("$NetBSD: suff.c,v 1.168 2020/09/26 16:00:12 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.169 2020/09/26 17:15:20 rillig Exp $");
#define SUFF_DEBUG0(fmt) \
if (!DEBUG(SUFF)) (void) 0; else fprintf(debug_file, fmt)
@@ -487,8 +487,7 @@
if (srcLn == NULL) {
srcLn = Lst_Find(sufflist, SuffSuffIsPrefix, str);
} else {
- srcLn = Lst_FindFrom(sufflist, LstNode_Next(srcLn),
- SuffSuffIsPrefix, str);
+ srcLn = Lst_FindFrom(sufflist, srcLn->next, SuffSuffIsPrefix, str);
}
if (srcLn == NULL) {
/*
@@ -1332,7 +1331,7 @@
Lst_Append(gn->parents, pgn);
pgn->unmade++;
/* Expand wildcards on new node */
- SuffExpandWildcards(LstNode_Prev(cln), pgn);
+ SuffExpandWildcards(cln->prev, pgn);
}
Lst_Free(members);
@@ -1503,8 +1502,8 @@
/*
* Deal with wildcards and variables in any acquired sources
*/
- for (ln = ln != NULL ? LstNode_Next(ln) : NULL; ln != NULL; ln = nln) {
- nln = LstNode_Next(ln);
+ for (ln = ln != NULL ? ln->next : NULL; ln != NULL; ln = nln) {
+ nln = ln->next;
SuffExpandChildren(ln, tGn);
}
@@ -1609,7 +1608,7 @@
* that still contain variables or wildcards in their names.
*/
for (ln = Lst_First(gn->children); ln != NULL; ln = nln) {
- nln = LstNode_Next(ln);
+ nln = ln->next;
SuffExpandChildren(ln, gn);
}
@@ -1763,7 +1762,7 @@
/*
* Search from this suffix's successor...
*/
- ln = LstNode_Next(ln);
+ ln = ln->next;
}
}
@@ -1839,7 +1838,7 @@
* that still contain variables or wildcards in their names.
*/
for (ln = Lst_First(gn->children); ln != NULL; ln = nln) {
- nln = LstNode_Next(ln);
+ nln = ln->next;
SuffExpandChildren(ln, gn);
}
diff -r 65681ba0477f -r e2be1f71466f usr.bin/make/targ.c
Home |
Main Index |
Thread Index |
Old Index