RFR: 8364111: InstanceMirrorKlass iterators should handle CDS and hidden classes consistently
Coleen Phillimore
coleenp at openjdk.org
Fri Jul 25 14:58:06 UTC 2025
On Fri, 25 Jul 2025 12:01:00 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> See the bug for more investigation. I think the root cause is already fixed in one of the `InstanceMirrorKlass` iterators, but not in the other one. Additionally, only one iterator handles the hidden classes. Also, there is a stale comment about CMS 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 from happening 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`
This looks like a good cleanup but need someone who knows GC better to also review.
-------------
Marked as reviewed by coleenp (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/26477#pullrequestreview-3055775411
More information about the hotspot-dev
mailing list