RFR (XXS): JDK-8085983 G1CollectedHeap::collection_set_iterate_from() has unused code and can be simplified

Thomas Schatzl thomas.schatzl at oracle.com
Thu Aug 6 08:15:59 UTC 2015


Hi Joe,

On Wed, 2015-08-05 at 12:28 -0400, Joseph Provino wrote:
> Latest webrev is here:
> http://cr.openjdk.java.net/~jprovino/8085983/webrev.01

I assume this is the latest version of the change; see below for
comments.
> 
> joe
> 
> On 6/18/2015 10:52 AM, Joseph Provino wrote:
> 
> > 
> > On 6/10/2015 12:46 PM, Stefan Karlsson wrote:
> > 
> > > Hi Joe,
> > > 
> > > On 2015-06-08 21:16, Joseph Provino wrote:
> > > 
> > > > One file. 
> > > > 
> > > > CR:  https://bugs.openjdk.java.net/browse/JDK-8085983 
> > > > 
> > > > webrev:  http://cr.openjdk.java.net/~jprovino/8085983/webrev.00 
> > > 
> > > Some comments:
> > > 
> > > +     guarantee(!cl->doHeapRegion(cur), err_msg("doHeapRegion() returned true"));
> > > 
> > > - You don't need err_msg if you don't have any format specifiers
> > > in the error message.
> > > 
> > I'll fix that.
> > 
> > > - I would prefer if you didn't put the cl->doHeapReagion() calls
> > > inside guarantees. It's too easy to incorrectly assume that the
> > > code in the guarantee is only verification code, IMHO.

That should also be true for the other guarantees imho, not only the one
in G1CollectedHeap::collection_set_iterate().
> > > 
> > That's a good point.  Something like this:
> > 
> >     bool ret = cl->doHeapRegion(r);
> >     guarantee(ret == false, "doHeapRegion() returned true");
> > 
> > Or do you prefer !ret?

We do not compare to true/false directly, i.e. !ret is the choice here.
> > 
> > > - Shouldn't this be an assert instead of a guarantee?
> > I don't know the rules there.  Seems like assert would be better
> > so it doesn't slow down the product build.

Either is fine with me. Since this is work distribution on a per-region
basis, so an additional check very likely is unnoticeable.

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list