CMS parallel initial mark

Hiroshi Yamauchi yamauchi at google.com
Thu Jun 13 19:27:31 UTC 2013


> - instead of checking whether _eden_chunk_array is NULL to detect
>> whether you can sample I would prefer if the same predicate as in the
>> initialization (gch->supports_inline_contig_**alloc()) were used.
>> (I think the change just copied what was done in the previous version of
>> concurrentMarkSweepGeneration.**cpp:4515 has been done)
>>
>> Maybe create a new predicate for that, used everywhere.
>>
>> (btw, throughout this code there is a lot of checking whether some
>> NEW_C_HEAP_ARRAY returned NULL or not, and does elaborate recovery -
>> however by default NEW_C_HEAP_ARRAY fails with an OOM anyway... - but
>> that is certainly out of scope)
>>
>
> Thomas, could you file a CR for fixing that?  Thanks.
>
>
Thomas, by a new predicate, do you mean checking

  if (gch->supports_inline_contig_**alloc())

as opposed to

  if (_eden_chunk_array != NULL)

assuming that the NEW_C_HEAP_ARRAY succeeded?

You're right that the code checks the null-ness of _eden_chunk_array
as CMSCollector::sample_eden()
did so.

I see that CR 8016276 was filed. Given this, but without knowing the
details of the CR, it seems OK for this patch to keep the null check
against _eden_chunk_array as it is?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130613/4b4468b5/attachment.htm>


More information about the hotspot-gc-dev mailing list