# HG changeset patch # User Lukas Stadler # Date 1371989500 -7200 # Node ID edf612527d74ac6f8bd377b3e3e28b24b4e61592 # Parent 53ba9df05fa2cd457b6397fb04c3ebe796102e1f small fix to code structured in IntegerStamp diff -r 53ba9df05fa2 -r edf612527d74 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/IntegerStamp.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/IntegerStamp.java Fri Jun 21 11:58:39 2013 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/IntegerStamp.java Sun Jun 23 14:11:40 2013 +0200 @@ -131,13 +131,14 @@ IntegerStamp other = (IntegerStamp) otherStamp; if (lowerBound > other.upperBound || upperBound < other.lowerBound) { return true; - } else { - if ((mask & other.mask) == 0) { - // zero is the only common value if the masks don't overlap => check for non-zero - return lowerBound > 0 || upperBound < 0 || other.lowerBound > 0 || other.upperBound < 0; - } - return false; + } else if ((mask & other.mask) == 0 && (lowerBound > 0 || upperBound < 0 || other.lowerBound > 0 || other.upperBound < 0)) { + /* + * Zero is the only common value if the masks don't overlap. If one of the two values is + * less than or greater than zero, they are always distinct. + */ + return true; } + return false; } @Override