Re: [ANNOUNCE] Git v2.19.0-rc0
From: Jeff King <hidden>
Date: 2018-08-23 16:14:54
On Thu, Aug 23, 2018 at 06:26:58AM -0400, Derrick Stolee wrote:
Around the time that my proposed approaches were getting vetoed for alignment issues, I figured I was out of my depth here. I reached out to Daniel Lemire (of EWAH bitmap fame) on Twitter [1]. His blog is full of posts of word-based approaches to different problems, so I thought he might know something off the top of his head that would be applicable. His conclusion (after looking only a short time) was to take a 'hasheq' approach [2] like Peff suggested [3]. Since that requires auditing all callers of hashcmp to see if hasheq is appropriate, it is not a good solution for 2.19 but (in my opinion) should be evaluated as part of the 2.20 cycle.
I think that audit isn't actually too bad (but definitely not something we should do for v2.19). The cocci patch I showed earlier hits most of them. It misses the negated ones (e.g., "if (oidcmp(...))"). I'm not sure if there's a way to ask coccinelle only for oidcmp() used in a boolean context. Just skimming the grep output, it's basically every call except the ones we use for binary search. -Peff