RFR: 8364111: InstanceMirrorKlass iterators should handle CDS and hidden classes consistently

Aleksey Shipilev shade at openjdk.org
Fri Jul 25 17:10:55 UTC 2025


On Fri, 25 Jul 2025 17:05:18 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> This is what old CMS comment tried to say, I think:
>> 
>> 
>> // However, we might get across a klass that just changed during CMS concurrent
>> // marking if allocation occurred in the old generation.
>> //
>> // This is benign here, as we keep alive all CLDs that were loaded during the
>> // CMS concurrent phase in the class loading, i.e. they will be iterated over
>> // and kept alive during remark.
>
> Pretty exhausted at this point, I'll mull over it after the weekend. But so far I think we are fine. Testing returns clean as well. If you can schedule some aggressive testing over the weekend, it would be helpful.

Wait, it's actually the other way around: we can see `nullptr` it our explicit check for a non-primitive class, stall, get to the assert, _then_ discover that mirror is installed, and falsely fail the assert. Assert *needs* to be removed, hold on.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26477#discussion_r2231633100


More information about the hotspot-dev mailing list