logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Thomas <greg.d.tho...@gmail.com>
Subject Re: Bit twiddling in org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode()
Date Tue, 20 Sep 2016 20:06:57 GMT
Could you use simply

return Objects.hashcode(...)

To avoid the maths In the first place ??
-- 
Sent from my iPhone

> On 20 Sep 2016, at 19:53, Gary Gregory <garydgregory@gmail.com> wrote:
> 
> I see a Findbugs error in:
> 
> org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode()
> 
> for:
> 
>         result = 31 * result + (threadPriority ^ (threadPriority >>> 32));
> 
> "The code performs shift of a 32 bit int by a constant amount outside the range -31..31.
The effect of this is to use the lower 5 bits of the integer value to decide how much to shift
by (e.g., shifting by 40 bits is the same as shifting by 8 bits, and shifting by 32 bits is
the same as shifting by zero bits). This probably isn't what was expected, and it is at least
confusing."
> 
> Thoughts?
> 
> Gary
> 
> -- 
> E-Mail: garydgregory@gmail.com | ggregory@apache.org 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

Mime
View raw message