RFR: JDK-8216973: Shenandoah: Kick up cleanup phases in the right places

Roman Kennke rkennke at redhat.com
Mon Jan 14 11:46:40 UTC 2019

>> In Shenandoah, we currently start cleanup phase when we dive into
>> concurrent evacuation (and only then), and after the cycle
>> (unconditionally). However, we only create trashed regions in final-mark
>> (immediate garbage and/or garbage from previous cycle), and might skip
>> evacuation altogether, and may not actually create trash at end of cycle
>> if we merge update-refs onto subsequent concurrent-mark. Let's start
>> cleanups where we actually need them: once unconditionally before
>> conc-evac and once after final-update-refs.
> The intent for the patch is okay.
>> http://cr.openjdk.java.net/~rkennke/JDK-8216973/webrev.00/
> I think comments need to be updated, for example:
> After final-mark:
>   // Final mark might have reclaimed some immediate garbage, kick cleanup to reclaim
>   // the space. This would be the last action if there is nothing to evacuate.
>   heap->entry_cleanup();
> After update-refs:
>   // Update references freed up collection set, kick the cleanup to reclaim the space.
>   heap->entry_cleanup();
>> Also, should this go into JDK12?
> I think this is the minor performance enhancement, and as such it should be deferred until first
> 12u. So, let's push this to jdk/jdk, let it be tested, and then we'll do the backport to
> jdk-updates/jdk12u, when that arrives.

Alright. I will push this:


to jdk/jdk then.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20190114/022090be/signature.asc>

More information about the hotspot-gc-dev mailing list