# HG changeset patch # User Thomas Wuerthinger # Date 1427467411 -3600 # Node ID d22307a9a0256652a8dbb3c5eb229a3d3e66053a # Parent 7072d9d4aa1360119b86457416fda23495912914 Small fixes to IGV layout. diff -r 7072d9d4aa13 -r d22307a9a025 src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java --- a/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java Mon Mar 23 00:26:47 2015 +0100 +++ b/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java Fri Mar 27 15:43:31 2015 +0100 @@ -538,15 +538,9 @@ if (n2.vertex == null) { return 0; } - if (n1.preds.size() == 1 && n1.preds.get(0).from.vertex != null) { - return 1; - } return -1; } if (n2.vertex == null) { - if (n2.preds.size() == 1 && n2.preds.get(0).from.vertex != null) { - return -1; - } return 1; } return n1.preds.size() - n2.preds.size(); @@ -568,24 +562,18 @@ n2VIP++; } } + if (n1VIP != n2VIP) { + return n2VIP - n1VIP; + } if (n1.vertex == null) { if (n2.vertex == null) { return 0; } - if (n1.succs.size() == 1 && n1.succs.get(0).to.vertex != null) { - return 1; - } return -1; } if (n2.vertex == null) { - if (n2.succs.size() == 1 && n2.succs.get(0).to.vertex != null) { - return -1; - } return 1; } - if (n1VIP != n2VIP) { - return n2VIP - n1VIP; - } return n1.succs.size() - n2.succs.size(); } }; @@ -634,11 +622,13 @@ for (int i = 0; i < SWEEP_ITERATIONS; i++) { sweepDown(); adjustSpace(); - sweepUp(); + sweepUp(false); adjustSpace(); } sweepDown(); + adjustSpace(); + sweepUp(true); } private void adjustSpace() { @@ -730,7 +720,7 @@ } } - private void sweepUp() { + private void sweepUp(boolean onlyDummies) { for (int i = layers.length - 1; i >= 0; i--) { NodeRow r = new NodeRow(space[i]); for (LayoutNode n : upProcessingOrder[i]) {