RFR(s): 8029162: G1: Shared SATB queue never enabled

Per Liden 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)

http://cr.openjdk.java.net/~pliden/8029162/webrev.0/

https://bugs.openjdk.java.net/browse/JDK-8029162

cheers,
/Per



More information about the hotspot-gc-dev mailing list