[jdk18] Integrated: 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Igor Veresov
iveresov at openjdk.java.net
Fri Dec 17 16:34:38 UTC 2021
On Thu, 16 Dec 2021 22:47:23 GMT, Igor Veresov <iveresov at openjdk.org> wrote:
> There are a bunch of problems with `BlockListBuilder::mark_loops()` and how it handles irreducible loops. It doesn't really seem to be explicitly designed to handle those, however, it does handle most. One shape emitted by the Kotlin compiler in this particular case gives it trouble.
>
> The proper fix is to rewrite loop detection, detect irreducible loops, and switch off `SelectivePhiFunctions` is any are present. But given that we're close to the release, I'd like to add a bailout during phi insertion, and file an RFE to do the proper fix later.
>
> I wrote a minimal test to demonstrate the issue.
>
> Testing with hs-tier{1-7} is squeaky clean.
This pull request has now been integrated.
Changeset: b46f0b0b
Author: Igor Veresov <iveresov at openjdk.org>
URL: https://git.openjdk.java.net/jdk18/commit/b46f0b0b1f2ada705f8b5aac9b7d8423699437a1
Stats: 121 lines in 3 files changed: 121 ins; 0 del; 0 mod
8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: kvn, neliasso
-------------
PR: https://git.openjdk.java.net/jdk18/pull/40
More information about the hotspot-compiler-dev
mailing list