CMS parallel initial mark

Hiroshi Yamauchi yamauchi at google.com
Thu Jun 13 18:54:01 UTC 2013


> > > - this patch is for DefNew/CMS only it seems. Is this correct?
>

Yes.


> > >
> > > - in the Hotspot code base explicit != NULL checks are done for
> whatever
> > > reason. To keep the same style it would be nice to update the checks
> > > whether to do the sampling ("if (CMSEdenChunksRecordAlways &&
> > > _next_gen)") accordingly.
>

I'll fix these.

> >
> > > (the next point is not an issue of the patch)
> > > - the check whether there is a _next_gen is odd - I do not think that
> > > DefNew works as a generation without an older generation, but I'm not
> > > sure.
> > You're correct that DefNew needs to have a _next_gen.
> >
> > > Looking at other similar code checking for _next_gen != NULL, the
> > > response is typically to update _next_gen and then asserting that
> > > _next_gen is != NULL. E.g.
> > >
> > >    if (_next_gen == NULL) {
> > >      GenCollectedHeap* gch = GenCollectedHeap::heap();
> > >      _next_gen = gch->next_gen(this);
> > >      assert(_next_gen != NULL,
> > >             "This must be the youngest gen, and not the only gen");
> > >    }
> > >
> > > Jon?
> >
> > Yes, except in a very few situations, _next_gen should be set.
> > Exceptions I would expect is during initialization.  At the point
> > Thomas indicates and assertion would be sufficient.
> >
> > assert(_next_gen != NULL, "...");
>
> Thanks.


I assume this discussion is out of scope of this patch. Let me know
otherwise.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130613/e2e184b2/attachment.htm>


More information about the hotspot-gc-dev mailing list