CMS parallel initial mark
Jon Masamitsu
jon.masamitsu at oracle.com
Thu Jun 13 21:31:43 UTC 2013
On 6/13/13 11:54 AM, Hiroshi Yamauchi wrote:
>
> > > - 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.
>
>
Yes, not your code so fixing should not be part of your patch.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130613/3b0609b9/attachment.htm>
More information about the hotspot-gc-dev
mailing list