RFR: 8297582: C2: very slow compilation due to type system verification code [v2]

Vladimir Kozlov kvn at openjdk.org
Thu Dec 15 09:03:07 UTC 2022


On Thu, 15 Dec 2022 08:35:29 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> src/hotspot/share/opto/type.cpp line 918:
>> 
>>> 916:   TypeVerif verif(C);
>>> 917: #endif
>>> 918: 
>> 
>> Can `VerifyMeetResult` class be local to `Type` class instead of `Compile` since it is used only locally here and you reset cache each time anyway? (`Compile` is become very big with verification code from all parts of compiler).
>> 
>> I thought you build the cache for duration of compilation then it may make sense to keep it in `Compile`. But you are resetting it after each `meet` so you don't need to have it in `Compile`.
>
> What I could do is have a pointer to the cache as a field in Compile but move the new class declaration out of compile.hpp in type.[ch]pp? Does that sound ok to you?

Yes, have only pointer to cache in Compile class is fine.

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

PR: https://git.openjdk.org/jdk/pull/11673


More information about the hotspot-compiler-dev mailing list