RFR: 8235260: Shenandoah: Do concurrent roots even when no evacuation is necessary

Zhengyu Gu zgu at redhat.com
Tue Dec 3 20:17:11 UTC 2019


Good.

Thanks,

-Zhengyu

On 12/3/19 3:16 PM, Roman Kennke wrote:
> Ok. Like this?
> 
> http://cr.openjdk.java.net/~rkennke/JDK-8235260/webrev.01/
> 
> Thanks,
> Roman
> 
> 
>> Hi Roman,
>>
>> Fix looks good. Probably should change the method name
>> is_empty_or_trash() to thing like can_allocate_from() ...
>>
>> Thanks,
>>
>> -Zhengyu
>>
>> On 12/3/19 11:29 AM, Roman Kennke wrote:
>>> For concurrent class-unloading, we already found that we need to prevent
>>> recycle-assist until concurrent roots processing is over, otherwise we
>>> may get dangling pointers to a new region, which suddenly starts to
>>> appear as live again because objects get allocated in them. The same
>>> problem still exists for humongous regions, and we need to prevent using
>>> trashed regions for humongous allocations until we're done with
>>> concurrent roots.
>>>
>>> The solution is to treat trashed regions as non-empty as long as
>>> concurrent roots is in progress.
>>>
>>> Bug:
>>> https://bugs.openjdk.java.net/browse/JDK-8235260
>>> Webrev:
>>> http://cr.openjdk.java.net/~rkennke/JDK-8235260/webrev.00/Fix
>>>
>>> Testing: hotspot_gc_shenandoah
>>> This used to fail with the upcoming concurrent roots cleaning that I
>>> have in progress, and passes now.
>>>
>>> Roman
>>>
>>
> 




More information about the hotspot-gc-dev mailing list