# HG changeset patch # User Andreas Woess # Date 1416415540 -3600 # Node ID 7b60f8334af0b969bca1f24efbb11f75765310e2 # Parent eb2a8bb3c2c44c82030a9ba1d8b7d3b707313aa7 Compare compressed flag in HotSpotObjectConstantImpl#equals and reference equality in HotSpotConstantReflectionProvider#constantEquals diff -r eb2a8bb3c2c4 -r 7b60f8334af0 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java Thu Nov 20 10:42:54 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java Wed Nov 19 17:45:40 2014 +0100 @@ -59,7 +59,13 @@ @Override public Boolean constantEquals(Constant x, Constant y) { - return x.equals(y); + if (x == y) { + return true; + } else if (x instanceof HotSpotObjectConstantImpl) { + return y instanceof HotSpotObjectConstantImpl && ((HotSpotObjectConstantImpl) x).object() == ((HotSpotObjectConstantImpl) y).object(); + } else { + return x.equals(y); + } } @Override diff -r eb2a8bb3c2c4 -r 7b60f8334af0 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Thu Nov 20 10:42:54 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Wed Nov 19 17:45:40 2014 +0100 @@ -232,7 +232,13 @@ @Override public boolean equals(Object o) { - return o == this || (o instanceof HotSpotObjectConstantImpl && super.equals(o) && object == ((HotSpotObjectConstantImpl) o).object); + if (o == this) { + return true; + } else if (o instanceof HotSpotObjectConstantImpl) { + HotSpotObjectConstantImpl other = (HotSpotObjectConstantImpl) o; + return super.equals(o) && object == other.object && compressed == other.compressed; + } + return false; } @Override