RFR: 8235260: Shenandoah: Do concurrent roots even when no evacuation is necessary
    Zhengyu Gu 
    zgu at redhat.com
       
    Tue Dec  3 19:55:48 UTC 2019
    
    
  
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