OpenJDK / jdk / hs
changeset 45219:9d6a11ccc9b1
8180720: method InferenceGraph.initNodes() can potentially add a trivial dependency of a node to itself
Reviewed-by: mcimadamore
author | vromero |
---|---|
date | Mon, 22 May 2017 09:44:14 -0700 |
parents | f3802669abd0 |
children | 7c775294b6f1 |
files | langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java Mon May 22 15:50:09 2017 +0200 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java Mon May 22 09:44:14 2017 -0700 @@ -1889,10 +1889,13 @@ Type i = n_i.data.first(); for (Node n_j : nodes) { Type j = n_j.data.first(); - UndetVar uv_i = (UndetVar)inferenceContext.asUndetVar(i); - if (Type.containsAny(uv_i.getBounds(InferenceBound.values()), List.of(j))) { - //update i's bound dependencies - n_i.addDependency(n_j); + // don't compare a variable to itself + if (i != j) { + UndetVar uv_i = (UndetVar)inferenceContext.asUndetVar(i); + if (Type.containsAny(uv_i.getBounds(InferenceBound.values()), List.of(j))) { + //update i's bound dependencies + n_i.addDependency(n_j); + } } } }