RFR: 8344122: IGV: Extend c2 IdealGraphPrinter to send subgraphs to IGV [v4]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Fri Nov 15 08:32:25 UTC 2024


On Thu, 14 Nov 2024 15:33:32 GMT, Tobias Holenstein <tholenstein at openjdk.org> wrote:

>> IGV XML already support to define which graphs are visible when opened. Extend the IdealGraphPrinter::print... in C2 to define which nodes should be visible in IGV when sent over the network
>> 
>> ### Add a new option "!" to dump_bfs
>> The option ! send the printed nodes of dump_bfs to IGV and shows them 
>> 
>> p find_node(0)->dump_bfs(1,0,"dcmxo+!")
>> 
>> dist dump
>> ---------------------------------------------
>>    1  51  Return  === 46 6 47 8 9 returns 39  [[ 0 ]] 
>>    0   0  Root  === 0 51  [[ 0 1 3 26 ]] 
>> Method printed over network stream to IGV
>> 
>> 
>> <img width="668" alt="dump" src="https://github.com/user-attachments/assets/d476e8b0-c444-4cd3-b40d-4a8f35caba83">
>
> Tobias Holenstein has updated the pull request incrementally with one additional commit since the last revision:
> 
>   create Compile::init_igv()

Looks good, thanks for addressing my comments! I just have one final comment/suggestion I missed yesterday.

src/hotspot/share/opto/compile.cpp line 5306:

> 5304:   }
> 5305:   tty->print_cr("Method printed over network stream to IGV");
> 5306:   _debug_network_printer->print(name, (Node*) Compile::current()->root(), visible_nodes);

Is there any reason why you want to use `Compile::current()` here instead of the readily available `C`?

Suggestion:

  _debug_network_printer->print(name, (Node*)C->root(), visible_nodes);

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

PR Review: https://git.openjdk.org/jdk/pull/22076#pullrequestreview-2437966154
PR Review Comment: https://git.openjdk.org/jdk/pull/22076#discussion_r1843374117


More information about the hotspot-compiler-dev mailing list