# HG changeset patch # User Lukas Stadler # Date 1400770292 -7200 # Node ID 241044995c8753ee1128e9a3886ccee113c2caac # Parent 8b8208aa2f446732bde244faaee8751a0d6e6fe4 only canonicalize CustomizedUnsafeLoadFinalNode if the condition is constant diff -r 8b8208aa2f44 -r 241044995c87 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 Thu May 22 16:51:09 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Thu May 22 16:51:32 2014 +0200 @@ -57,7 +57,7 @@ @Override public Node canonical(CanonicalizerTool tool) { - if (object.isConstant() && !object.isNullConstant() && offset.isConstant()) { + if (object.isConstant() && !object.isNullConstant() && offset.isConstant() && condition.isConstant() && condition.asConstant().asInt() == 1) { Constant constant = tool.getConstantReflection().readUnsafeConstant(accessKind, object.asConstant(), offset.asConstant().asLong()); return ConstantNode.forConstant(constant, tool.getMetaAccess(), graph()); }