RFR: 8364111: InstanceMirrorKlass iterators should handle CDS and hidden classes consistently
Aleksey Shipilev
shade at openjdk.org
Fri Jul 25 13:00:44 UTC 2025
See the bug for more investigation. I think the root cause is already fixed in one of the `InstanceMirrorKlass` iterator, but not in the other one. Additionally, only one iterator handles the hidden classes. Also, there is a stale comment about CDS that apparently prevents us from asserting `is_primitive`, which is not relevant anymore.
So this PR commons out the metadata handling on both iterators, which fixes the GenShen+CDS bug, likely fixes hidden classes bug somewhere, and prevents the omission like this to happen again.
Additional testing:
- [x] Linux x86_64 server fastdebug, Generational Shenandoah + CDS bugs are not reproducing now
- [x] Linux x86_64 server fastdebug, `tier1`
- [ ] Linux x86_64 server fastdebug, `all`
-------------
Commit messages:
- Comments
- Mark as inline as well
- Fix
Changes: https://git.openjdk.org/jdk/pull/26477/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26477&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8364111
Stats: 59 lines in 2 files changed: 27 ins; 30 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/26477.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26477/head:pull/26477
PR: https://git.openjdk.org/jdk/pull/26477
More information about the hotspot-dev
mailing list