Tim Ellison wrote:
> Jimmy,Jing Lv wrote:
>>     I'm not strongly against this commit, but just as I explained in
>> the first mail, to make the numBuckets a power of two (&(bucketsize -
>> 1)) is always good, but the simple right shift (>>2) may cause some
>> benchmark improved (properly in these benchmarks hashcode is directly
>> identityHashCode) while others are reduced (hashcode are
>> user-defined). A known reduced benchmark is specjbb.
>>    I don't know when will vm improve their hashcode implementation,
>> and different vms will re-act to this at different time, so I doubt
>> the best way for applying simply shift ( >>2 ) is waiting for vm to
>> improve themselves and do no change to classlib. However this is not a
>> very urgent issue :)
> 
> Ok, how about we flip it around then.  I'll modify the code to compute
> 
>     int bucket = hashCode & (numBuckets - 1);
> 
> with the understanding that our current VMs are penalized until they
> enhance their identityHashCode implementations?
> 
> Anyone object to doing it this way around?

FYI: there being no objections, I committed the code at repo revision
r554615.

Regards,
Tim

Reply via email to