RFR (S) 8242101: Shenandoah: coalesce and parallelise heap region walks during the pauses

Aleksey Shipilev shade at redhat.com
Fri Apr 3 12:20:57 UTC 2020


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8242101

We are walking heap regions multiple times during final mark pause. We also walk them during final
update refs pause without any parallelism. We should really fix those, to allow more regions per heap.

Webrev:
  https://cr.openjdk.java.net/~shade/8242101/webrev.01/

I had to drop shenandoah_assert_heaplocked_or_safepoint from update_watermark, because it expects
that we are called from VMThread at safepoint, and with this patch, we are not.

By my count, the whole thing saves about 50us in pauses with the default number of regions.

Testing: hotspot_gc_shenandoah, benchmarks

-- 
Thanks,
-Aleksey




More information about the hotspot-gc-dev mailing list