[jdk17] Integrated: 8268676: assert(!ik->is_interface() && !ik->has_subklass()) failed: inconsistent klass hierarchy
Vladimir Ivanov
vlivanov at openjdk.java.net
Thu Jun 17 21:21:31 UTC 2021
On Tue, 15 Jun 2021 21:58:45 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> JDK-8267947 disabled the caching for "has_subklass() == false" and it became
> more likely to observe class hierarchy changes when concurrent class loading
> happens.
>
> `ArrayCopy` optimization may observe an effectively exact klass and proceed,
> but the observation can be invalidated later.
>
> Proposed fix turns the problematic assert into a runtime check which bails out
> the transformation if src input doesn't have exact klass type anymore.
>
> Testing:
> - [x] hs-tier1 - hs-tier2
This pull request has now been integrated.
Changeset: 85452692
Author: Vladimir Ivanov <vlivanov at openjdk.org>
URL: https://git.openjdk.java.net/jdk17/commit/8545269268ff34a5c6b8a8cc6aff69fff2a7b507
Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
8268676: assert(!ik->is_interface() && !ik->has_subklass()) failed: inconsistent klass hierarchy
Reviewed-by: kvn, roland, neliasso
-------------
PR: https://git.openjdk.java.net/jdk17/pull/67
More information about the hotspot-compiler-dev
mailing list