RFR: Full GC should cleanup earlier/bad version of redefined classes

Zhengyu Gu zgu at redhat.com
Tue Jun 5 16:45:48 UTC 2018



On 06/05/2018 12:36 PM, Zhengyu Gu wrote:
> 
> 
> On 06/05/2018 12:28 PM, Roman Kennke wrote:
>> Am 05.06.2018 um 18:24 schrieb Zhengyu Gu:
>>> Tests suggest that it expects that earlier versions of redefined
>>> classes, or classes with errors should be cleaned up during full GC 
>>> cycles.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~zgu/shenandoah/fullgc_class_unload/webrev.00/ 
>>>
>>>
>>> Test:
>>>    tier3_gc_shenandoah.
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>
>> But that flag only indicates that class cleanup is deferred to parallel
>> cleaning phase. 
> Correct!
> 
> Aren't we calling this from full-gc? Or is this flag
>> enabling something else that parallel cleaning does not do?
> 
> Yes, we do unload classes during full gc. However, if the flag = false, 
> it won't do the cleanup within full gc cycle, and those classes can 
> still be seen after full gc, which fails the test.
In other words, it expects full gc to cleanup those classes, cause 
cleanup tasks may run much later.

-Zhengyu

> 
> Thanks,
> 
> -Zhengyu
> 
> 
>>
>> Roman
>>


More information about the shenandoah-dev mailing list