CRR (S): 7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle
john.cuthbertson at oracle.com
Tue Feb 7 10:24:42 PST 2012
I forgot that you had this out for review.
Anyway - this looks good to me.
On 01/26/12 11:52, Tony Printezis wrote:
> Hi all,
> Can I please have a couple of code reviews for the following change?
> The issue is that a GC attempt that's supposed to explicitly start a
> concurrent marking cycle might be unsuccessful (as another GC might
> get scheduled first) which will prevent the cycle from starting. The
> idea is to retry such unsuccessful attempts.
> I also changed should_do_concurrent_full_gc() from an if-statement to
> a switch statement. I discussed it with Bengt (the last person to
> modify that method) and we both think that the switch statement is
> more readable.
> BTW, I did a couple of iterations of this fix to address the slightly
> different approach Bengt took in the cycle initiation after hum
> allocation code (i.e., start the cycle before the allocation, not
> after). In the end the current version of
> retry_unsuccessful_concurrent_full_gc(), a new method I added, always
> returns true for all causes. I'm inclined to leave the switch in, even
> just for the comments per cause. I could be persuaded to replace it
> with return true; statement though.
More information about the hotspot-gc-dev