On May 23 2012, at 17:09 , Doug Lea wrote:
>
> Note that ConcurrentHashMap has been overhauled for JDK8.
> The preliminary version, partially waiting for stability
> on lambda-related stuff, has been out a while as
> jsr166e.ConcurrenthashMapV8 (see
> http://gee.cs.oswego.edu/dl/concurrency-interest/index.html)
For the short term it will probably be a little annoying to keep this in sync
between the workspaces. Sorry in advance.
> It is easy to add seeded murmur hash code to this,
> which I plan to do. One question:
>
> Given the JDK8 conventions in your mail,
> it seems that field hashMask can never be zero,
> so doesn't need to be checked, but is in your JDK8 diffs:
> int h = hashMask;
> if ((0 != h) && (k instanceof String)) {
> return ((String) k).hash32() ^ h;
>
> ... and further simplifying a bit from there.
After Remi's feedback I looked more closely and the h != 0 check isn't needed
in the JDK 8 implementation. I had been trying to keep the JDK 7 and 8
differences to a minimum and missed this. I will have this fixed in the next
webrev.
> (Also "hashMask" seems like an odd name for this. "hashSeed"?)
Thinking about it more I prefer hashSeed as well. I will make this change
before the next webrev.
Thanks Doug!
Mike