Fix bug in devirtualization while inlining

This commit is contained in:
Alexey Andreev 2020-01-23 15:53:11 +03:00
parent 4776bebe8e
commit c53a563e96

View File

@ -260,7 +260,11 @@ public class ClassInference {
if (degree > 0) { if (degree > 0) {
for (int predecessor : assignmentGraph.incomingEdges(variable)) { for (int predecessor : assignmentGraph.incomingEdges(variable)) {
nextEntries.add(packNodeAndDegree(predecessor, degree)); int predecessorEntry = packNodeAndDegree(predecessor, degree);
graphBuilder.addEdge(predecessorEntry, entry);
if (!visited[predecessorEntry]) {
stack.push(predecessorEntry);
}
} }
for (int successor : itemGraph.outgoingEdges(variable)) { for (int successor : itemGraph.outgoingEdges(variable)) {