Jeff King <peff@xxxxxxxx> writes: > On Tue, May 19, 2015 at 01:24:09AM +0200, René Scharfe wrote: > >> Use an automatic variable for recent_bitmaps, an array of pointers. >> This way we don't allocate too much and don't have to free the memory >> at the end. The old code over-allocated because it reserved enough >> memory to store all of the structs it is only pointing to and never >> freed it. 160 64-bit pointers take up 1280 bytes, which is not too >> much to be placed on the stack. >> >> MAX_XOR_OFFSET is turned into a preprocessor constant to make it >> constant enough for use in an non-variable array declaration. >> >> Noticed-by: Stefan Beller <stefanbeller@xxxxxxxxx> >> Suggested-by: Jeff King <peff@xxxxxxxx> >> Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> >> --- >> This seems to have fallen through the cracks, or did I just miss it? > > Thanks, this looks good. > > I looked over the function one more time to make sure it is the function > that is wrong, and not my suggestion. :) The current code seems pretty > obviously wrong. I actually cannot guess what the current code is trying to do. Was it an attempt to cache that many entries, but instead allocated and discarded the space it tried to use as a cache every time? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html