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