Integrated: 8286451: C2: assert(nb == 1) failed: only when the head is not shared
Roland Westrelin
roland at openjdk.java.net
Wed Jun 8 06:45:22 UTC 2022
On Mon, 30 May 2022 13:50:08 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> nb counts the number of loops that share a single head. The assert
> that fires is in code that handles the case of a self loop (a loop
> composed of a single block). There can be a self loop and multiple
> loops that share a head: the assert makes little sense and I propose
> to simply remove it.
>
> I think there's another issue with this code: in the case of a self
> loop and multiple loops that share a head, the self loop can be any of
> the loop for which the head is cloned not only the one that's passed
> as argument to ciTypeFlow::clone_loop_head(). As a consequence, I
> moved the logic for self loops in the loop that's applied to all loops
> that share the loop head.
This pull request has now been integrated.
Changeset: bf0e625f
Author: Roland Westrelin <roland at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/bf0e625fe0e83c00006f13367a67e9f6175d21e4
Stats: 82 lines in 2 files changed: 65 ins; 14 del; 3 mod
8286451: C2: assert(nb == 1) failed: only when the head is not shared
Reviewed-by: thartmann, chagedorn
-------------
PR: https://git.openjdk.java.net/jdk/pull/8947
More information about the hotspot-compiler-dev
mailing list