diff -r bd49e0304281 -r 133a0a0c2cbc src/share/classes/com/sun/tools/javac/comp/Infer.java --- a/src/share/classes/com/sun/tools/javac/comp/Infer.java Tue Feb 26 09:04:19 2013 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Infer.java Thu Feb 28 14:00:52 2013 +0000 @@ -1216,7 +1216,7 @@ * created, effectively replacing the original cyclic nodes. */ void initNodes() { - ArrayList nodes = new ArrayList(); + nodes = new ArrayList(); for (Type t : inferenceContext.restvars()) { nodes.add(new Node(t)); } @@ -1235,7 +1235,7 @@ } } } - this.nodes = new ArrayList(); + ArrayList acyclicNodes = new ArrayList(); for (List conSubGraph : GraphUtils.tarjan(nodes)) { if (conSubGraph.length() > 1) { Node root = conSubGraph.head; @@ -1244,8 +1244,9 @@ notifyUpdate(n, root); } } - this.nodes.add(conSubGraph.head); + acyclicNodes.add(conSubGraph.head); } + nodes = acyclicNodes; } /**