tonyp [Fri, 09 Apr 2010 13:08:34 -0400] rev 5245
Merge
johnc [Wed, 07 Apr 2010 11:43:53 -0700] rev 5244
6940894: G1: assert(new_obj != 0 || ... "should be forwarded") for compaction tests
Summary: Humongous regions may contain multiple objects as a result of being retained as to-space from a previous GC and then re-used as to-space after being tagged as humongous. These changes include a check that causes retained to-space regions that are now tagged as humongous to be disregarded and a new to-space region allocated.
Reviewed-by: tonyp, iveresov
tonyp [Tue, 06 Apr 2010 10:59:45 -0400] rev 5243
6909756: G1: guarantee(G1CollectedHeap::heap()->mark_in_progress(),"Precondition.")
Summary: Make sure that two marking cycles do not overlap, i.e., a new one can only start after the concurrent marking thread finishes all its work. In the fix I piggy-back a couple of minor extra fixes: some general code reformatting for consistency (only around the code I modified), the removal of a field (G1CollectorPolicy::_should_initiate_conc_mark) which doesn't seem to be used at all (it's only set but never read), as well as moving the "is GC locker active" test earlier into the G1 pause / Full GC and using a more appropriate method for it.
Reviewed-by: johnc, jmasa, jcoomes, ysr