As part of implementing String deduplication for G1 (JDK-8029075) I discovered that the shared SATB queue is never enabled (ever). In the current G1 implementation this bug has no side effect (as far as I can tell) because we do not depend on that queue for anything. This queue is only used when non-Java threads overwrites a object reference while concurrent marking is running. We don't have any such threads at the moment (the VM thread and concurrent marking thread actually overwrites references during reference processing, but they do it as part of a prepend to a list, so the original reference becomes the next value so it's not detached from the list).
The fix is simple, the function SATBMarkQueueSet::set_active_all_threads() needs to call shared_satb_queue()->set_active().
Since this bug has no side effect it's currently not a problem. However, this needs to be fixed before JDK-8029075 can be completed.
Current ILW = LLL = P5
However, this bug is blocking JDK-8029075, which at some point will change it to ILW = HMH = P1