RFR: 8261336: IGV: enhance default filters [v2]

Roberto Castañeda Lozano rcastanedalo at openjdk.java.net
Mon Feb 15 11:23:40 UTC 2021


On Fri, 12 Feb 2021 12:13:13 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> Roberto Castañeda Lozano has updated the pull request incrementally with five additional commits since the last revision:
>> 
>>  - Rewrite 'Show control flow only' filter using categories
>>  - Add leading underscore field
>>  - Move assertion to a default switch case
>>  - Indent switch statements
>>  - Use a scoped enum for type categories (as per the HotSpot style guide)
>
> src/utils/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/onlyControlFlow.filter line 23:
> 
>> 21:   )
>> 22: );
>> 23: f.addRule(new RemoveFilter.RemoveRule(new MatcherSelector(new Properties.RegexpPropertyMatcher("name", "Phi|CreateEx|Cast.*|Load.|Store."))));
> 
> I tried the filter out on a graph and noticed that there are still some data and memory nodes shown. How about utilizing the newly added categories? I played around a bit and this seems to work quite nicely. What do you think?
> 
> var f = new RemoveFilter("Show only control flow");
> f.addRule(
>   new RemoveFilter.RemoveRule(
>     new OrSelector(
>       new InvertSelector(
>         new MatcherSelector(
>           new Properties.RegexpPropertyMatcher("category", "control|mixed|other")
>         )
>       ),
>       new MatcherSelector(
>         new Properties.StringPropertyMatcher("type", "abIO")
>       )
>     ), false
>   )
> );
> f.addRule(new RemoveFilter.RemoveRule(new MatcherSelector(new Properties.RegexpPropertyMatcher("name", "Phi|Root|Con"))));
> f.apply(graph);

Thanks for the suggestion, I adopted it with some variations to avoid having to explicitly list pinned nodes like "Phi".

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

PR: https://git.openjdk.java.net/jdk/pull/2499


More information about the hotspot-compiler-dev mailing list