Mercurial > hg > graal-compiler
changeset 20048:8af4e7e0ac9f
Make IGV more robust when parsing block information
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Fri, 27 Mar 2015 14:09:21 +0100 |
parents | 97dbe2c74073 |
children | 1d52d1e08a75 |
files | src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/BinaryParser.java |
diffstat | 2 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java Fri Mar 27 14:03:46 2015 +0100 +++ b/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java Fri Mar 27 14:09:21 2015 +0100 @@ -88,12 +88,10 @@ } public void addNode(int id) { - InputNode n = graph.getNode(id); - assert n != null; - graph.setBlock(n, this); - final InputNode node = graph.getNode(id); + InputNode node = graph.getNode(id); assert node != null; assert !nodes.contains(node) : "duplicate : " + node; + graph.setBlock(node, this); nodes.add(node); }
--- a/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/BinaryParser.java Fri Mar 27 14:03:46 2015 +0100 +++ b/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/BinaryParser.java Fri Mar 27 14:09:21 2015 +0100 @@ -687,8 +687,17 @@ int nodeCount = readInt(); for (int j = 0; j < nodeCount; j++) { int nodeId = readInt(); - block.addNode(nodeId); - graph.getNode(nodeId).getProperties().setProperty("block", name); + if (nodeId < 0) { + continue; + } + final Properties properties = graph.getNode(nodeId).getProperties(); + final String oldBlock = properties.get("block"); + if(oldBlock != null) { + properties.setProperty("block", oldBlock + ", " + name); + } else { + block.addNode(nodeId); + properties.setProperty("block", name); + } } int edgeCount = readInt(); for (int j = 0; j < edgeCount; j++) {