RFR (S) 8240217: Shenandoah: remove ShenandoahEvacAssist

Roman Kennke rkennke at redhat.com
Fri Feb 28 10:52:01 UTC 2020

Have you done any performance experiments?

A (not so long) while back, I ran SPECjbb2015 with and without the
option, and couldn't measure a difference. If anything, latency slightly
improved with evac-assist turned off.

Other than that, good. Less code, less maintenance.


> RFE:
>   https://bugs.openjdk.java.net/browse/JDK-8240217
> ShenandoahEvacAssist is an experimental option that strived to make calling into WB/LRB slowpath
> less frequent.
> It implicitly relied on WB/LRB midpath to check for forwardee and shortcut from there. With the
> introduction of self-fixing barriers, this was intentionally removed. Therefore, Shenandoah would
> call into slow-path anyway, even when evac-assist path had evacuated some objects.
> Also, with Traversal, the assist path breaks out of Traversal's intent to evacuate the objects in
> traversal order. There, it becomes actively harmful. We should consider removing it.
> Webrev:
>   https://cr.openjdk.java.net/~shade/8240217/webrev.01/
> Testing: hotspot_gc_shenandoah {fastdebug,release}

More information about the hotspot-gc-dev mailing list