Module Name: src Committed By: rillig Date: Sun Nov 29 01:12:45 UTC 2020
Modified Files: src/usr.bin/make: suff.c Log Message: make(1): reduce memory allocation in suffix candidate search To generate a diff of this commit: cvs rdiff -u -r1.317 -r1.318 src/usr.bin/make/suff.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/suff.c diff -u src/usr.bin/make/suff.c:1.317 src/usr.bin/make/suff.c:1.318 --- src/usr.bin/make/suff.c:1.317 Sun Nov 29 01:10:08 2020 +++ src/usr.bin/make/suff.c Sun Nov 29 01:12:45 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.317 2020/11/29 01:10:08 rillig Exp $ */ +/* $NetBSD: suff.c,v 1.318 2020/11/29 01:12:45 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.317 2020/11/29 01:10:08 rillig Exp $"); +MAKE_RCSID("$NetBSD: suff.c,v 1.318 2020/11/29 01:12:45 rillig Exp $"); #define SUFF_DEBUG0(text) DEBUG0(SUFF, text) #define SUFF_DEBUG1(fmt, arg1) DEBUG1(SUFF, fmt, arg1) @@ -211,7 +211,7 @@ typedef struct Candidate { typedef struct CandidateSearcher { - CandidateList *list; + CandidateList list; /* * TODO: Add HashSet for seen entries, to avoid endless loops such as @@ -901,35 +901,35 @@ Suff_AddLib(const char *suffName) static void CandidateSearcher_Init(CandidateSearcher *cs) { - cs->list = Lst_New(); + Lst_Init(&cs->list); } static void CandidateSearcher_Done(CandidateSearcher *cs) { - Lst_Free(cs->list); + Lst_Done(&cs->list); } static void CandidateSearcher_Add(CandidateSearcher *cs, Candidate *cand) { /* TODO: filter duplicates */ - Lst_Append(cs->list, cand); + Lst_Append(&cs->list, cand); } static void CandidateSearcher_AddIfNew(CandidateSearcher *cs, Candidate *cand) { /* TODO: filter duplicates */ - if (Lst_FindDatum(cs->list, cand) == NULL) - Lst_Append(cs->list, cand); + if (Lst_FindDatum(&cs->list, cand) == NULL) + Lst_Append(&cs->list, cand); } static void CandidateSearcher_MoveAll(CandidateSearcher *cs, CandidateList *list) { /* TODO: filter duplicates */ - Lst_MoveAll(cs->list, list); + Lst_MoveAll(&cs->list, list); } @@ -1967,9 +1967,9 @@ sfnd_return: static void CandidateSearcher_CleanUp(CandidateSearcher *cs) { - while (RemoveCandidate(cs->list)) + while (RemoveCandidate(&cs->list)) continue; - assert(Lst_IsEmpty(cs->list)); + assert(Lst_IsEmpty(&cs->list)); }