Mercurial > hg > graal-compiler
changeset 22103:6772b63f4dac
Empty object stamps should always be nonNull, assert it.
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Mon, 22 Jun 2015 15:00:10 +0200 |
parents | 4918409846d8 |
children | 5e13c10edc1b cb7d2d509b01 |
files | graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java |
diffstat | 2 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java Fri Jun 26 12:24:47 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java Mon Jun 22 15:00:10 2015 +0200 @@ -225,12 +225,12 @@ joinExactType = false; } if (joinExactType && joinType == null) { - return StampFactory.empty(Kind.Object); + return empty(); } if (joinAlwaysNull && joinNonNull) { - return StampFactory.empty(Kind.Object); + return empty(); } else if (joinExactType && !isConcreteType(joinType)) { - return StampFactory.empty(Kind.Object); + return empty(); } if (Objects.equals(joinType, type) && joinExactType == exactType && joinNonNull == nonNull() && joinAlwaysNull == alwaysNull()) { return this;
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Fri Jun 26 12:24:47 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Mon Jun 22 15:00:10 2015 +0200 @@ -38,7 +38,8 @@ } public boolean nonNull() { - return nonNull || this.isEmpty(); + assert !this.isEmpty() || nonNull; + return nonNull; } public boolean alwaysNull() {