# HG changeset patch # User Roland Schatz # Date 1397480566 -7200 # Node ID 2bcd277b3e6d20372826d5b85f9c06d3b34b3394 # Parent 4abf68d7b0b833ba740754f8c7994a4cd736eb95 Properly mark metaspace data references as compressed/uncompressed. diff -r 4abf68d7b0b8 -r 2bcd277b3e6d graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java Mon Apr 14 11:59:22 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java Mon Apr 14 15:02:46 2014 +0200 @@ -256,7 +256,9 @@ public Data createDataItem(Constant constant, int alignment) { if (constant instanceof HotSpotMetaspaceConstant) { - return new MetaspaceData(alignment, constant.asLong(), HotSpotMetaspaceConstant.getMetaspaceObject(constant), false); + // constant.getKind() == target.wordKind for uncompressed pointers + // otherwise, it's a compressed pointer + return new MetaspaceData(alignment, constant.asLong(), HotSpotMetaspaceConstant.getMetaspaceObject(constant), constant.getKind() != target.wordKind); } else if (constant.getKind().isObject()) { return new OopData(alignment, HotSpotObjectConstant.asObject(constant), false); } else {