RFR(s): 8029162: G1: Shared SATB queue never enabled
per.liden at oracle.com
Thu Nov 28 16:49:53 UTC 2013
Summary: When activating/deactivating the G1 pre-barrier all SATB queues
are looped through and have their active state set accordingly. There is
one queue per Java thread and a shared queue for all non-Java threads.
The loop done to set the active state of all queues forgets to set the
active state on the shared queue. I suspect this was missed because the
logic in SATBMarkQueueSet::set_active_all_threads() is mixed with quite
a bit of verification code. This patch also moves this verification code
out into a separate function.
Testing done: jprt, kitchensink (10 hours), gcbasher (10 hours)
More information about the hotspot-gc-dev