RFR: 8303279: C2 Compiler crash (triggered by Kotlin 1.8.10)

Vladimir Kozlov kvn at openjdk.org
Tue Jun 27 16:34:05 UTC 2023


On Tue, 27 Jun 2023 14:40:49 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> The crash occurs because at split if during IGVN, a `SubTypeCheck` is
> created with null as input. That happens because the control path the
> `SubTypeCheck` is cloned for is dead. To fix that I propose delaying
> split if until dead paths are collapsed.
> 
> I added an assert to check a nullable first input to `SubTypeCheck`
> nodes (which should be impossible because it should be null
> checked). When I ran testing, a number of cases showed up with known
> non null values non properly marked as non null. I fixed them.

Looks reasonable.

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

Marked as reviewed by kvn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14678#pullrequestreview-1501407243


More information about the hotspot-compiler-dev mailing list