Module Name: src Committed By: rillig Date: Sun Apr 11 12:46:55 UTC 2021
Modified Files: src/usr.bin/make: hash.c hash.h var.c Log Message: make: avoid allocating memory for simple variable names The main change is in ParseVarname, where a Buffer is replaced with the newly introduced LazyBuf. LazyBuf is inspired by https://golang.org/src/path/path.go. In CanonicalVarname, the pre-comparison of the first letter of the variable name is no longer necessary. GCC 9 optimizes a fixed-length memcmp so well that the code can finally be written to target human readers, leaving the optimization to the compiler. To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.64 src/usr.bin/make/hash.c cvs rdiff -u -r1.39 -r1.40 src/usr.bin/make/hash.h cvs rdiff -u -r1.915 -r1.916 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.