# HG changeset patch # User Roland Schatz # Date 1431938050 -7200 # Node ID da314a015aac9c61ebbd8877e22394ec3e6b32c1 # Parent 32ca2353accf35fcd43ba58ce7d0f6e0c7376845 Bugfix: Join of alwaysNull and nonNull is the empty stamp. diff -r 32ca2353accf -r da314a015aac graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Sun May 17 20:47:04 2015 -0700 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Mon May 18 10:34:10 2015 +0200 @@ -61,7 +61,11 @@ AbstractPointerStamp other = (AbstractPointerStamp) stamp; boolean joinNonNull = this.nonNull || other.nonNull; boolean joinAlwaysNull = this.alwaysNull || other.alwaysNull; - return copyWith(joinNonNull, joinAlwaysNull); + if (joinNonNull && joinAlwaysNull) { + return empty(); + } else { + return copyWith(joinNonNull, joinAlwaysNull); + } } @Override