CRR (S): 7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle

John Cuthbertson john.cuthbertson at oracle.com
Tue Feb 7 10:24:42 PST 2012


Hi Tony,

I forgot that you had this out for review.

Anyway - this looks good to me.

JohnC

On 01/26/12 11:52, Tony Printezis wrote:
> Hi all,
>
> Can I please have a couple of code reviews for the following change?
>
> http://cr.openjdk.java.net/~tonyp/7129892/webrev.1/
>
> 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.
>
> Tony
>



More information about the hotspot-gc-dev mailing list