Module Name: src Committed By: rillig Date: Sat Nov 28 19:22:32 UTC 2020
Modified Files: src/usr.bin/make: compat.c dir.c make.c make.h suff.c targ.c Log Message: make(1): reduce pointer indirection for GNode.implicitParents To generate a diff of this commit: cvs rdiff -u -r1.195 -r1.196 src/usr.bin/make/compat.c cvs rdiff -u -r1.222 -r1.223 src/usr.bin/make/dir.c src/usr.bin/make/make.c cvs rdiff -u -r1.224 -r1.225 src/usr.bin/make/make.h cvs rdiff -u -r1.312 -r1.313 src/usr.bin/make/suff.c cvs rdiff -u -r1.145 -r1.146 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/compat.c diff -u src/usr.bin/make/compat.c:1.195 src/usr.bin/make/compat.c:1.196 --- src/usr.bin/make/compat.c:1.195 Sat Nov 28 19:20:03 2020 +++ src/usr.bin/make/compat.c Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.195 2020/11/28 19:20:03 rillig Exp $ */ +/* $NetBSD: compat.c,v 1.196 2020/11/28 19:22:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -96,7 +96,7 @@ #include "pathnames.h" /* "@(#)compat.c 8.2 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: compat.c,v 1.195 2020/11/28 19:20:03 rillig Exp $"); +MAKE_RCSID("$NetBSD: compat.c,v 1.196 2020/11/28 19:22:32 rillig Exp $"); static GNode *curTarg = NULL; static pid_t compatChild; @@ -495,7 +495,7 @@ MakeUnmade(GNode *const gn, GNode *const return FALSE; } - if (Lst_FindDatum(gn->implicitParents, pgn) != NULL) + if (Lst_FindDatum(&gn->implicitParents, pgn) != NULL) Var_Set(IMPSRC, GNode_VarTarget(gn), pgn); /* @@ -587,7 +587,7 @@ static void MakeOther(GNode *gn, GNode *pgn) { - if (Lst_FindDatum(gn->implicitParents, pgn) != NULL) { + if (Lst_FindDatum(&gn->implicitParents, pgn) != NULL) { const char *target = GNode_VarTarget(gn); Var_Set(IMPSRC, target != NULL ? target : "", pgn); } Index: src/usr.bin/make/dir.c diff -u src/usr.bin/make/dir.c:1.222 src/usr.bin/make/dir.c:1.223 --- src/usr.bin/make/dir.c:1.222 Mon Nov 23 23:41:11 2020 +++ src/usr.bin/make/dir.c Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.c,v 1.222 2020/11/23 23:41:11 rillig Exp $ */ +/* $NetBSD: dir.c,v 1.223 2020/11/28 19:22:32 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.222 2020/11/23 23:41:11 rillig Exp $"); +MAKE_RCSID("$NetBSD: dir.c,v 1.223 2020/11/28 19:22:32 rillig Exp $"); #define DIR_DEBUG0(text) DEBUG0(DIR, text) #define DIR_DEBUG1(fmt, arg1) DEBUG1(DIR, fmt, arg1) @@ -1337,7 +1337,7 @@ ResolveFullName(GNode *gn) fullName = Dir_FindFile(gn->name, Suff_FindPath(gn)); if (fullName == NULL && gn->flags & FROM_DEPEND && - !Lst_IsEmpty(gn->implicitParents)) + !Lst_IsEmpty(&gn->implicitParents)) fullName = ResolveMovedDepends(gn); DIR_DEBUG2("Found '%s' as '%s'\n", Index: src/usr.bin/make/make.c diff -u src/usr.bin/make/make.c:1.222 src/usr.bin/make/make.c:1.223 --- src/usr.bin/make/make.c:1.222 Sat Nov 28 19:20:03 2020 +++ src/usr.bin/make/make.c Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: make.c,v 1.222 2020/11/28 19:20:03 rillig Exp $ */ +/* $NetBSD: make.c,v 1.223 2020/11/28 19:22:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -102,7 +102,7 @@ #include "job.h" /* "@(#)make.c 8.1 (Berkeley) 6/6/93" */ -MAKE_RCSID("$NetBSD: make.c,v 1.222 2020/11/28 19:20:03 rillig Exp $"); +MAKE_RCSID("$NetBSD: make.c,v 1.223 2020/11/28 19:22:32 rillig Exp $"); /* Sequence # to detect recursion. */ static unsigned int checked_seqno = 1; @@ -550,7 +550,7 @@ UpdateImplicitParentsVars(GNode *cgn, co GNodeListNode *ln; const char *cpref = GNode_VarPrefix(cgn); - for (ln = cgn->implicitParents->first; ln != NULL; ln = ln->next) { + for (ln = cgn->implicitParents.first; ln != NULL; ln = ln->next) { GNode *pgn = ln->datum; if (pgn->flags & REMAKE) { Var_Set(IMPSRC, cname, pgn); Index: src/usr.bin/make/make.h diff -u src/usr.bin/make/make.h:1.224 src/usr.bin/make/make.h:1.225 --- src/usr.bin/make/make.h:1.224 Sat Nov 28 19:20:03 2020 +++ src/usr.bin/make/make.h Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: make.h,v 1.224 2020/11/28 19:20:03 rillig Exp $ */ +/* $NetBSD: make.h,v 1.225 2020/11/28 19:22:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -383,7 +383,7 @@ typedef struct GNode { /* The GNodes for which this node is an implied source. May be empty. * For example, when there is an inference rule for .c.o, the node for * file.c has the node for file.o in this list. */ - GNodeList *implicitParents; + GNodeList implicitParents; /* The nodes that depend on this one, or in other words, the nodes for * which this is a source. */ Index: src/usr.bin/make/suff.c diff -u src/usr.bin/make/suff.c:1.312 src/usr.bin/make/suff.c:1.313 --- src/usr.bin/make/suff.c:1.312 Sat Nov 28 19:20:03 2020 +++ src/usr.bin/make/suff.c Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.312 2020/11/28 19:20:03 rillig Exp $ */ +/* $NetBSD: suff.c,v 1.313 2020/11/28 19:22:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -114,7 +114,7 @@ #include "dir.h" /* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */ -MAKE_RCSID("$NetBSD: suff.c,v 1.312 2020/11/28 19:20:03 rillig Exp $"); +MAKE_RCSID("$NetBSD: suff.c,v 1.313 2020/11/28 19:22:32 rillig Exp $"); #define SUFF_DEBUG0(text) DEBUG0(SUFF, text) #define SUFF_DEBUG1(fmt, arg1) DEBUG1(SUFF, fmt, arg1) @@ -1484,7 +1484,7 @@ ApplyTransform(GNode *tgn, GNode *sgn, S * Keep track of another parent to which this node is transformed so * the .IMPSRC variable can be set correctly for the parent. */ - Lst_Append(sgn->implicitParents, tgn); + Lst_Append(&sgn->implicitParents, tgn); return TRUE; } Index: src/usr.bin/make/targ.c diff -u src/usr.bin/make/targ.c:1.145 src/usr.bin/make/targ.c:1.146 --- src/usr.bin/make/targ.c:1.145 Sat Nov 28 19:20:04 2020 +++ src/usr.bin/make/targ.c Sat Nov 28 19:22:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: targ.c,v 1.145 2020/11/28 19:20:04 rillig Exp $ */ +/* $NetBSD: targ.c,v 1.146 2020/11/28 19:22:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -119,7 +119,7 @@ #include "dir.h" /* "@(#)targ.c 8.2 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: targ.c,v 1.145 2020/11/28 19:20:04 rillig Exp $"); +MAKE_RCSID("$NetBSD: targ.c,v 1.146 2020/11/28 19:22:32 rillig Exp $"); /* * All target nodes that appeared on the left-hand side of one of the @@ -201,7 +201,7 @@ GNode_New(const char *name) gn->unmade = 0; gn->mtime = 0; gn->youngestChild = NULL; - gn->implicitParents = Lst_New(); + Lst_Init(&gn->implicitParents); Lst_Init(&gn->parents); Lst_Init(&gn->children); Lst_Init(&gn->order_pred); @@ -234,7 +234,7 @@ GNode_Free(void *gnp) free(gn->uname); free(gn->path); /* gn->youngestChild is not owned by this node. */ - Lst_Free(gn->implicitParents); /* Do not free the nodes themselves, */ + Lst_Done(&gn->implicitParents); /* Do not free the nodes themselves, */ Lst_Done(&gn->parents); /* as they are not owned by this node. */ Lst_Done(&gn->children); /* likewise */ Lst_Done(&gn->order_pred); /* likewise */ @@ -503,7 +503,7 @@ Targ_PrintNode(GNode *gn, int pass) debug_printf("# unmade\n"); } } - PrintNodeNamesLine("implicit parents", gn->implicitParents); + PrintNodeNamesLine("implicit parents", &gn->implicitParents); } else { if (gn->unmade) debug_printf("# %d unmade children\n", gn->unmade);