[11u] RFR (S) 8260497: Shenandoah: Improve SATB flushing
Aleksey Shipilev
shade at redhat.com
Mon Feb 15 18:59:07 UTC 2021
Original RFE:
https://bugs.openjdk.java.net/browse/JDK-8260497
https://git.openjdk.java.net/jdk/commit/316d52c1
There are distinct changes from master version.
First, SATBMarkQueue and PtrQueue are still closely coupled together. Because of this, we cannot
drop "virtual" from should_enqueue_buffer, and therefore cannot remove
ShenandoahSATBMarkQueue::should_enqueue_buffer completely.
Second, there is no SATBMarkQueueSet::flush_queue(SATBMarkQueue&), and so we have to go to
SATBMarkQueue::flush directly. This also simplifies ShenandoahFlushSATBHandshakeClosure.
I have observed reduced final-mark times with this patch.
11u variant:
https://cr.openjdk.java.net/~shade/8260497/webrev.11u.01/
Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah
--
Thanks,
-Aleksey
More information about the jdk-updates-dev
mailing list