RFR: 8350006: IGV: show memory slices as type information [v3]
Christian Hagedorn
chagedorn at openjdk.org
Tue Feb 18 08:44:15 UTC 2025
On Mon, 17 Feb 2025 13:16:57 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
>> This changeset extends the "Show types" filter in IGV to show the memory slice corresponding to each memory node. This information can be useful e.g. in the ongoing investigation of [JDK-8333393](https://bugs.openjdk.org/browse/JDK-8333393). Here is an example of a memory subgraph with the extended "Show types" filter enabled:
>>
>> 
>>
>> #### Testing
>>
>> - tier1 (windows-x64, linux-x64, linux-aarch64, and macosx-x64; release and debug mode).
>>
>> - Tested IGV manually on a few selected graphs. Tested automatically that displaying thousands of graphs with the "Show types" filter enabled does not trigger any assertion failure (by enabling assertions, instrumenting IGV to display parsed graphs eagerly, and running `java -Xbatch -XX:-TieredCompilation -XX:PrintIdealGraphLevel=3`).
>
> Roberto Castañeda Lozano has updated the pull request incrementally with one additional commit since the last revision:
>
> Dump alias type information for each node
src/hotspot/share/opto/idealGraphPrinter.cpp line 555:
> 553: field->print_name_on(&field_stream);
> 554: print_prop("alias_field", field_stream.freeze());
> 555: }
I'm not sure if this is really required. There is already the "source" and "destination" dump for loads and stores, respectively:
https://github.com/openjdk/jdk/blob/3353f8e0875165adbc8ee764a4c8d8817a87cd88/src/hotspot/share/opto/idealGraphPrinter.cpp#L695-L718
This also shows information for array accesses. For example:

-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23621#discussion_r1959297113
More information about the hotspot-compiler-dev
mailing list