Mercurial > hg > truffle
changeset 20155:6a84da35bc84
take replacements into account in NewArrayNode.virtualize
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 02 Apr 2015 14:33:43 +0200 |
parents | 5b2fd4cd7b8f |
children | 33be8eb8cbd5 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Thu Apr 02 14:33:31 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Thu Apr 02 14:33:43 2015 +0200 @@ -69,8 +69,9 @@ @Override public void virtualize(VirtualizerTool tool) { - if (length().asConstant() != null) { - final int constantLength = length().asJavaConstant().asInt(); + ValueNode replacedLength = tool.getReplacedValue(length()); + if (replacedLength.asConstant() != null) { + final int constantLength = replacedLength.asJavaConstant().asInt(); if (constantLength >= 0 && constantLength < tool.getMaximumEntryCount()) { ValueNode[] state = new ValueNode[constantLength]; ConstantNode defaultForKind = constantLength == 0 ? null : defaultElementValue();