RFR: Mark-compact and heuristics should consistently process refs and unload classes
Roman Kennke
rkennke at redhat.com
Tue May 30 08:52:31 UTC 2017
Am 30.05.2017 um 10:48 schrieb Aleksey Shipilev:
> On 05/30/2017 10:43 AM, Roman Kennke wrote:
>> Am 30.05.2017 um 10:28 schrieb Aleksey Shipilev:
>>> On 05/30/2017 09:59 AM, Aleksey Shipilev wrote:
>>>> We have copied the random block from Aggressive policy to Passive one. The goal
>>>> for random selection in Aggressive is to exercise all paths. For Passive, we are
>>>> better off being consistent:
>>> Actually, let's also cover mark-compact parts:
>>> http://cr.openjdk.java.net/~shade/shenandoah/passive-ur-cu/webrev.01/
>>>
>>> -Aleksey
>>>
>> I am not sure about this. I think the intention of the flags controlling
>> ref processing and class unloading were meant to affect regular GC
>> cycles. Mark-compact is our last-ditch collection and should always
>> process refs and unload classes. What would be a good reason to not do that?
> I think that -ClassUnloading should disable class unloading even for last ditch
> collections. It is a configuration error if disabling class unloading disallows
> to reclaim needed space, but we should really honor that command. This is why
> mark-compact cares only about it explicitly disabled.
>
> Process weak refs is a bit similar, but this is mostly for internal work:
> disabling ref processing should disable it everywhere, including last ditch
> collection. This covers for the case when there is an accidental last ditch
> collection in the middle of performance experiment.
Ok fine then.
Roman
More information about the shenandoah-dev
mailing list