RFR: 8264795: IGV: Upgrade NetBeans platform [v2]

Xin Liu xliu at openjdk.java.net
Fri Apr 9 23:10:26 UTC 2021

On Wed, 7 Apr 2021 11:59:28 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.
> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
>  - Document how to build and run on a specific JDK
>  - Use lambdas to define runnables
>  - Document latest JDK version supported

Thank you for modernizing IGV. I manage to import this project to IntelliJ. The process is hassle-free!

I also ran using jdk8/jdk11 on macOS. I haven't identified any problem so far.

src/utils/IdealGraphVisualizer/Filter/pom.xml line 93:

> 91:         <profile>
> 92:             <activation>
> 93:                 <jdk>[15,)</jdk>

Does this mean that module `Filter` will depend on external nashorn after jdk15? 

I know that jdk doesn't remove nashorn util jdk15, but does it make sense that IGV always picks up external nashorn. My concern is "javascript" in jdk8/11 may be not well-maintained and leave vulnerability behind.


Marked as reviewed by xliu (no project role).

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

More information about the hotspot-compiler-dev mailing list