RFR: 8336465: C2: EA incorrectly/unnecessarily checks for clinits

Vladimir Kozlov kvn at openjdk.org
Tue Jul 16 16:32:52 UTC 2024


On Tue, 16 Jul 2024 10:08:31 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> As shown in [JDK-8336103](https://bugs.openjdk.org/browse/JDK-8336103), EA code uses `is_initializer` where we expect to only check for constructors. This PR rewrites it appropriately. This nominally changes the EA behavior, but I do not think it would actually show up anywhere.
> 
> Additional testing:
>  - [x] Linux AArch64 server fastdebug, all (includes Fuzzer and CTW tests), passed as part of JDK-8336103 testing

Good.

When this code was written there was no `is_object_initializer()` method.
Since `<clinit>` is executed only once we never compile them (may be with `-Xcomp).

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

Marked as reviewed by kvn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20190#pullrequestreview-2180762491


More information about the hotspot-compiler-dev mailing list