# HG changeset patch # User Roland Schatz # Date 1401786118 -7200 # Node ID 83433cf49019ea9de428f4ae88883af58bfa8e25 # Parent c60362c5150f5456469913c4af0a13efbdefea8a Fix incorrect null check in oop compression. diff -r c60362c5150f -r 83433cf49019 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Tue Jun 03 10:52:22 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Tue Jun 03 11:01:58 2014 +0200 @@ -167,7 +167,7 @@ public void generate(NodeLIRBuilderTool gen) { HotSpotLIRGenerator hsGen = (HotSpotLIRGenerator) gen.getLIRGeneratorTool(); boolean nonNull; - if (getInput().stamp() instanceof ObjectStamp) { + if (getInput().stamp() instanceof AbstractObjectStamp) { nonNull = StampTool.isObjectNonNull(getInput().stamp()); } else { // metaspace pointers are never null diff -r c60362c5150f -r 83433cf49019 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampTool.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampTool.java Tue Jun 03 10:52:22 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampTool.java Tue Jun 03 11:01:58 2014 +0200 @@ -504,8 +504,8 @@ * always null */ public static boolean isObjectAlwaysNull(Stamp stamp) { - if (stamp instanceof ObjectStamp && stamp.isLegal()) { - return ((ObjectStamp) stamp).alwaysNull(); + if (stamp instanceof AbstractObjectStamp && stamp.isLegal()) { + return ((AbstractObjectStamp) stamp).alwaysNull(); } return false; } @@ -530,8 +530,8 @@ * always null */ public static boolean isObjectNonNull(Stamp stamp) { - if (stamp instanceof ObjectStamp && stamp.isLegal()) { - return ((ObjectStamp) stamp).nonNull(); + if (stamp instanceof AbstractObjectStamp && stamp.isLegal()) { + return ((AbstractObjectStamp) stamp).nonNull(); } return false; } @@ -555,8 +555,8 @@ * @return the Java type this stamp has if it is a legal Object stamp, null otherwise */ public static ResolvedJavaType typeOrNull(Stamp stamp) { - if (stamp instanceof ObjectStamp && stamp.isLegal()) { - return ((ObjectStamp) stamp).type(); + if (stamp instanceof AbstractObjectStamp && stamp.isLegal()) { + return ((AbstractObjectStamp) stamp).type(); } return null; } @@ -584,8 +584,8 @@ * @return true if this node represents a legal object stamp whose Java type is known exactly */ public static boolean isExactType(Stamp stamp) { - if (stamp instanceof ObjectStamp && stamp.isLegal()) { - return ((ObjectStamp) stamp).isExactType(); + if (stamp instanceof AbstractObjectStamp && stamp.isLegal()) { + return ((AbstractObjectStamp) stamp).isExactType(); } return false; }