Mercurial > hg > graal-compiler
changeset 3204:8f51f5850652
Fix for vector tree in splitting
author | Gilles Duboscq <gilles.duboscq@oracle.com> |
---|---|
date | Sun, 10 Jul 2011 11:21:37 +0200 |
parents | ccae0eb6c652 |
children | ca968e2cf7cb |
files | graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/GraphUtil.java |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/GraphUtil.java Fri Jul 08 18:35:51 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/GraphUtil.java Sun Jul 10 11:21:37 2011 +0200 @@ -100,7 +100,7 @@ break; } colors.set(current, color); - if (current instanceof FixedNodeWithNext && !(current instanceof Invoke && ((Invoke) current).exceptionEdge() != null)) { + if (current instanceof FixedNodeWithNext && !(current instanceof AbstractVectorNode) && !(current instanceof Invoke && ((Invoke) current).exceptionEdge() != null)) { current = ((FixedNodeWithNext) current).next(); } else if (current instanceof EndNode) { current = ((EndNode) current).merge(); @@ -113,6 +113,11 @@ Invoke invoke = (Invoke) current; work.add(invoke.next()); work.add(invoke.exceptionEdge()); + } else if (current instanceof AbstractVectorNode) { + for (Node usage : current.usages()) { + work.add(usage); + } + work.add(((AbstractVectorNode) current).next()); } current = null; }