RFR: 8324950: IGV: save the state to a file [v20]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu Apr 11 08:36:42 UTC 2024


On Thu, 11 Apr 2024 07:31:04 GMT, Tobias Holenstein <tholenstein at openjdk.org> wrote:

> It should be fixed now. The entries in the Outline tree are computed lazily. So they don't exist until the folder is extended

Thanks, that works for me now!

> I updated the PR: save the visibleNodes instead of the hiddenNodes. This is way more memory efficient. Especially for large graphs.

One issue with that is that now graphs are opened with a fixed set of visible nodes rather than "all nodes are visible". This works for the graph that is directly shown when the file is open, but if you step into the next graph in the group, new nodes will be hidden. To reproduce this, you can open [one-graph.zip](https://github.com/openjdk/jdk/files/14943396/one-graph.zip) and click on "Show next graph of current group". In the next graph, nodes 5, 7, 25, 26, and 27 are hidden unexpectedly.

One (hopefully simple) fix would be to show all nodes if `visibleNodes` is absent from the XML file or introduce an attribute to indicate that all nodes should be visible, something like:

<visibleNodes all="true">
</visibleNodes>

This would also lead to more compact XML files for graphs without hidden nodes.

Another solution would be to express the graph state as a chain of actions (e.g. `<showNode id="2"/>`, `<hideNode id="5"/>`, etc.). Then one could determine which chain of actions is more compact for a given graph state. This would also open for sending "commands" to IGV in the future, e.g. via gdb. But this is probably best left for future work.

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

PR Comment: https://git.openjdk.org/jdk/pull/17630#issuecomment-2049197703


More information about the hotspot-compiler-dev mailing list