# HG changeset patch # User Gilles Duboscq # Date 1336052583 -7200 # Node ID 85103daaf504ba264127ac4d5e215b196c141427 # Parent 4471a30a972885be66bc3ac4091f59921edc0096 Fix : There can be proxies in the virtual chain diff -r 4471a30a9728 -r 85103daaf504 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/SuperBlock.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/SuperBlock.java Thu May 03 15:19:16 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/SuperBlock.java Thu May 03 15:43:03 2012 +0200 @@ -316,6 +316,8 @@ } } currentField = ((VirtualObjectFieldNode) currentField).lastState(); + } else if (currentField instanceof ValueProxyNode) { + currentField = ((ValueProxyNode) currentField).value(); } else { assert currentField instanceof PhiNode && ((PhiNode) currentField).type() == PhiType.Virtual : currentField; currentField = ((PhiNode) currentField).valueAt(0);