# HG changeset patch # User Andreas Woess # Date 1397830245 -7200 # Node ID 055fc67643a2a30bac29935e39dcb993024c4eb4 # Parent d49a8fe10727d7b28004fcf8b6efef8bc58152c1 Truffle: fix lowering of unsafe load final with non-constant location argument diff -r d49a8fe10727 -r 055fc67643a2 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Fri Apr 18 15:19:06 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Fri Apr 18 16:10:45 2014 +0200 @@ -89,7 +89,7 @@ public void lower(LoweringTool tool) { CompareNode compare = CompareNode.createCompareNode(graph(), Condition.EQ, condition, ConstantNode.forBoolean(true, graph())); LocationIdentity locationIdentity; - if (location.asConstant().isNull()) { + if (!location.isConstant() || location.asConstant().isNull()) { locationIdentity = LocationIdentity.ANY_LOCATION; } else { locationIdentity = ObjectLocationIdentity.create(location.asConstant());