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