RFR: JDK-8209118: Abstract SATBMarkQueueSet's ThreadLocalData access

Roman Kennke rkennke at redhat.com
Wed Aug 8 09:23:23 UTC 2018


Currently, SATBMarkQueueSet directly accesses G1SATBMarkQueue for
getting to thread-local SATBMarkQueue. This should be abstract in order
to enable SATBMarkQueue stuff to be used by other GCs.

I propose to achieve that by adding a (pure) virtual method:
satb_queue_for_thread(JavaThread* const t)

to SATBMarkQueueSet, which would have to be implemented by GC specific
subclasses. One side effect is that handle_zero_index_for_thread() would
have to move to subclass too (which is fine for Shenandoah, we're not
using it at all. Maybe this would require some consolidation in the
future for G1 on the platforms that use it..?)

Bug:
https://bugs.openjdk.java.net/browse/JDK-8209118
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8209118/webrev.00/
Testing: hotspot/jtreg:tier1 (fastdebug)

Can I please get reviews?

Thanks,
Roman



More information about the hotspot-gc-dev mailing list