RFR: 8264795: IGV: Upgrade NetBeans platform

Christian Hagedorn chagedorn at openjdk.java.net
Wed Apr 7 08:00:32 UTC 2021


On Tue, 6 Apr 2021 18:34:54 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

> This change upgrades the NetBeans platform on which IGV is based to its latest version ([12.3](https://netbeans.apache.org/download/nb123/index.html)) and switches IGV's build system from Ant to Maven. The upgrade introduces support for a wide range of JDK versions (from 8 to 15, the latest version supported by NetBeans 12.3), and the switch from Ant to Maven makes the IGV build simpler, faster (first-time build is approximately 5x faster), and more stable (all dependencies are fetched directly from the Maven central repository).
> 
> The change also fixes broken unit tests in the Data module and runs them by default when building.
> 
> #### Testing
> 
> Regression-tested the following use cases manually on all combinations of (Linux, Windows, macOS) and (JDK 8, JDK 11, JDK 15):
> 
> - build
> - open graph file (small.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - import graphs via network (localhost)
> - expand groups in outline
> - open a graph
> - open a clone
> - zoom in and out
> - search a node
> - apply filters
> - extract a node
> - show all nodes
> - select nodes corresponding to a bytecode
> - view control flow
> - select nodes corresponding to a basic block
> - cluster nodes
> - show satellite view
> - compute the difference of two graphs
> - change node text
> - remove a group
> - save groups into a file
> - open a large graph file (large.xml in [test-input.zip](https://bugs.openjdk.java.net/secure/attachment/93988/test-input.zip))
> - open a large graph ("After Escape Analysis" in large.xml)
> 
> Thanks to Vladimir Ivanov for helping with testing on macOS.

Very nice work!

src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/Parser.java line 154:

> 152:                             parent.addElement(group);
> 153:                         }
> 154:                     };

You could directly use `Runnable addToParent = () -> parent.addElement(group);` and also for the other ones below.

src/utils/IdealGraphVisualizer/README.md line 10:

> 8: elements.
> 9: 
> 10: The tool is built on top of the NetBeans Platform, and requires Java 8 or later.

Maybe also mention here that the current NetBeans version supports up to JDK 15.

-------------

Marked as reviewed by chagedorn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3361


More information about the hotspot-compiler-dev mailing list