# HG changeset patch # User Christian Wimmer # Date 1367424673 25200 # Node ID 6f84aacfdf3c5c6dff13e6e0f4e77f842c7ca163 # Parent 85f83b7b361625b1caa2edea79d33588219d2d8f Infer stamp for LoadIndexedNode, so that we have more precise type information for the result of the array load. This is important when the array is a originally a phi function (whithout any type information) and the phi function gets eliminated later on. diff -r 85f83b7b3616 -r 6f84aacfdf3c graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed May 01 09:09:33 2013 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed May 01 09:11:13 2013 -0700 @@ -53,6 +53,11 @@ } @Override + public boolean inferStamp() { + return updateStamp(createStamp(array(), elementKind())); + } + + @Override public void virtualize(VirtualizerTool tool) { State arrayState = tool.getObjectState(array()); if (arrayState != null && arrayState.getState() == EscapeState.Virtual) {