introduced SATB queues for NonJavaThreads. In Shenandoah (and likely G1) the StringDedupThread needs SATB queues. Also, in Shenandoah, all threads' SATB queues get flushed at end of marking using the thread claiming protocol. Currently, only Java threads and the VMThread participate in this, which means that the StringDedupThread will not have its SATB queue flushed at the end.
This change is proposing a mechanism to allow (some) GC threads to participate in thread claiming.