CMS parallel initial mark

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


> > > Same for checking whether _survivor_chunk_array is NULL - at the moment
> > > sometimes _survivor_chunk_array is checked against NULL to avoid
> > > entering code (in print_eden_and_survivor_chunk_arrays()).
> > >
> > > The condition that could be used is the one that triggers allocation of
> > > _survivor_chunk_array: (CMSParallelRemarkEnabled &&
> > > CMSParallelSurvivorRemarkEnabled) in
> > > concurrentMarkSweepGeneration.cpp:728.
> >
> > Personally, I like a check like if (_eden_chunk_array != NULL)
> > better. I think it is more future proof.   For whatever reason we don't
> > try to dereference _eden_chunk_array if it is NULL.  An assertion
> > checking that
> >
> > (CMSParallelRemarkEnabled &&
> > CMSParallelSurvivorRemarkEnabled)
> >
> > is true would we be appropriate.
>
> Also good.
>

Do you mean adding an assert in
CMSCollector::print_eden_and_survivor_chunk_arrays() like the following:

  if (_survivor_chunk_array != NULL) {
     assert(CMSParallelRemarkEnabled && CMSParallelSurvivorRemarkEnabled,
"Error");
     ...
  }

?

That can be easily inserted.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130613/0a4ce5cb/attachment.htm>


More information about the hotspot-gc-dev mailing list