RFR: 8314512: IGV: clean up hierarchical layout code [v2]

Tobias Holenstein tholenstein at openjdk.org
Fri Nov 29 11:18:39 UTC 2024


On Thu, 28 Nov 2024 09:17:11 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> Tobias Holenstein has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fixed graph objects equality
>
> src/utils/IdealGraphVisualizer/HierarchicalLayout/src/main/java/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java line 75:
> 
>> 73: 
>> 74:         static public void apply(LayoutGraph graph) {
>> 75:             removeSelfEdges(graph);
> 
> The proposed code removes self-edges unconditionally. This is OK for the sea-of-nodes layout, but for the CFG layout we do need to draw self-edges (think about single basic block loops). Here is an (artificially edited) example of how the new algorithm misses drawing a self-edge for B7 (left is current IGV, right is IGV with your proposed changes):
> 
> ![Screenshot from 2024-11-28 10-09-09](https://github.com/user-attachments/assets/e91b55af-0fbf-4f28-b7e6-558dfcada42a)
> 
> Here is the artificially edited graph file that illustrates the issue: [self-edges.zip](https://github.com/user-attachments/files/17945729/self-edges.zip)

should be fixed now

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22402#discussion_r1863369559


More information about the hotspot-compiler-dev mailing list