Mercurial > hg > graal-compiler
changeset 15853:241044995c87
only canonicalize CustomizedUnsafeLoadFinalNode if the condition is constant
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 22 May 2014 16:51:32 +0200 |
parents | 8b8208aa2f44 |
children | 3ce7f1c32353 e751da27fd48 |
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 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()); }