CRR (XS): 7098085: G1: partially-young GCs not initiated under certain circumstances

Bengt Rutisson bengt.rutisson at oracle.com
Wed Oct 5 23:28:59 PDT 2011


Tony,

Looks good to me. Thanks for adding the extra comments in 
ConcurrentMarkThread::run(). They will be very useful when getting back 
to this code.

Some comments on the email discussion inline...

On 2011-10-06 02:52, Tony Printezis wrote:
>
>
> On 10/5/2011 8:27 PM, Tony Printezis wrote:
>>> [1] you will have to invent a suitable other name, perhaps 
>>> DesynchronizeWithSafepoints
>>> for when you do the reverse, i.e. perform an action outside of the 
>>> _sts, as happens
>>> when you are doing those synch barriers amongst the concurrent marking
>>> threads in case of overflow and restart.
>>
>> I can't think of a good name off-hand but I'll think about it for a 
>> bit... (suggestions are welcome!) 
>
> How about JoinSuspendibleThreadSet / LeaveSuspendibleThreadSet, example:

I like JoinSuspendibleThreadSet. It seems natural. I understand where 
LeaveSuspendibleThreadSet is coming from, but just seeing it by itself 
on a code line will give me the wrong impression - I think. It sounds so 
active, whereas I assume it will have to include some potential waiting 
for other threads to leave a safe point, right?

>
> {
>   JoinSuspendibleThreadSet x;
>   ...
> }
>
> Both sound very descriptive to me. Alternatively, maybe 
> InsideSuspendibleThreadSet / OutsideSuspendibleThreadSet?

I actually like InsideSuspendibleThreadSet / OutsideSuspendibleThreadSet 
better. It indicates what you really want to achieve with the code block.

Just my initial thoughts on the naming...

Bengt


>
> I'd love to have something like MutexLocker / MutexUnlocker but I 
> can't think of an appropriate noun (SuspendibleThreadSetJoiner?!?!?!? 
> this sounds SO wrong!).
>
> Tony



More information about the hotspot-gc-dev mailing list