changeset 15238:055fc67643a2

Truffle: fix lowering of unsafe load final with non-constant location argument
author Andreas Woess <andreas.woess@jku.at>
date Fri, 18 Apr 2014 16:10:45 +0200
parents d49a8fe10727
children 00abd0611776
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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());