RFR: Fix full gc with class unloading

Kelvin Nilsen kdnilsen at openjdk.java.net
Tue Sep 14 21:56:35 UTC 2021


On Tue, 14 Sep 2021 21:43:39 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 591:
>> 
>>> 589:     assert(heap->cancelled_gc(), "Must have been cancelled");
>>> 590:     check_cancellation_or_degen(gc.degen_point());
>>> 591:     if (generation->generation_mode() == OLD) {
>> 
>> Is this ever true here? Old collections should go through the `service_concurrent_old_cycle` method.
>
> I think you're right.  I had not understood all the control paths to this point.

I'll replace this with an assertion.

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

PR: https://git.openjdk.java.net/shenandoah/pull/67


More information about the shenandoah-dev mailing list