[jdk17] RFR: 8268676: assert(!ik->is_interface() && !ik->has_subklass()) failed: inconsistent klass hierarchy
Vladimir Ivanov
vlivanov at openjdk.java.net
Tue Jun 15 22:04:50 UTC 2021
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
-------------
Commit messages:
- Fix
Changes: https://git.openjdk.java.net/jdk17/pull/67/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=67&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8268676
Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk17/pull/67.diff
Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/67/head:pull/67
PR: https://git.openjdk.java.net/jdk17/pull/67
More information about the hotspot-compiler-dev
mailing list