Mercurial > hg > graal-jvmci-8
diff jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/PrimitiveConstant.java @ 22489:24b4e5e1431c
Remove JavaConstant from Value hierarchy.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 31 Aug 2015 13:36:07 +0200 |
parents | 0e095e2c24e2 |
children | dc1aeef79e7e |
line wrap: on
line diff
--- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/PrimitiveConstant.java Sun Aug 30 20:15:02 2015 -0700 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/PrimitiveConstant.java Mon Aug 31 13:36:07 2015 +0200 @@ -28,7 +28,9 @@ * Represents a primitive constant value, such as an integer or floating point number, within the * compiler and across the compiler/runtime interface. */ -public class PrimitiveConstant extends AbstractValue implements JavaConstant, SerializableConstant { +public class PrimitiveConstant implements JavaConstant, SerializableConstant { + + private final Kind kind; /** * The boxed primitive value as a {@code long}. For {@code float} and {@code double} values, @@ -38,13 +40,18 @@ private final long primitive; protected PrimitiveConstant(Kind kind, long primitive) { - super(LIRKind.value(kind)); this.primitive = primitive; + this.kind = kind; assert kind.isPrimitive() || kind == Kind.Illegal; } @Override + public Kind getKind() { + return kind; + } + + @Override public boolean isNull() { return false; } @@ -150,7 +157,14 @@ @Override public boolean equals(Object o) { - return o == this || (o instanceof PrimitiveConstant && super.equals(o) && primitive == ((PrimitiveConstant) o).primitive); + if (o == this) { + return true; + } + if (!(o instanceof PrimitiveConstant)) { + return false; + } + PrimitiveConstant other = (PrimitiveConstant) o; + return this.kind.equals(other.kind) && this.primitive == other.primitive; } @Override