Fri, 19 Nov 2010 13:19:49 -0800 Merge
jmasa [Fri, 19 Nov 2010 13:19:49 -0800] rev 7387
Merge
Tue, 16 Nov 2010 16:12:28 -0800 Merge
johnc [Tue, 16 Nov 2010 16:12:28 -0800] rev 7386
Merge
Tue, 16 Nov 2010 14:07:33 -0800 6978187: G1: assert(ParallelGCThreads> 1 || n_yielded() == _hrrs->occupied()) strikes again
johnc [Tue, 16 Nov 2010 14:07:33 -0800] rev 7385
6978187: G1: assert(ParallelGCThreads> 1 || n_yielded() == _hrrs->occupied()) strikes again Summary: An evacuation failure while copying the roots caused an object, A, to be forwarded to itself. During the subsequent RSet updating a reference to A was processed causing the reference to be added to the RSet of A's heap region. As a result of adding to the remembered set we ran into the issue described in 6930581 - the sparse table expanded and the RSet scanning code walked the cards in one instance of RHashTable (_cur) while the occupied() counts the cards in the expanded table (_next). Reviewed-by: tonyp, iveresov
(0) -3000 -1000 -300 -100 -30 -10 -3 +3 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip