RFR (M): 8027959: Investigate early reclamation of large objects in G1
Mikael Gerdin
mikael.gerdin at oracle.com
Tue Jul 22 14:58:36 UTC 2014
Hi Thomas,
On Tuesday 22 July 2014 16.26.46 Thomas Schatzl wrote:
> Hi Mikael,
>
> thanks for the review again,
>
> On Tue, 2014-07-22 at 13:28 +0200, Mikael Gerdin wrote:
> > Hi Thomas,
> >
> > On Monday 21 July 2014 15.20.57 Thomas Schatzl wrote:
> > > Hi Mikael,
> > >
> > > thanks for the review, and finding these issues!
> > >
> > > On Thu, 2014-07-17 at 16:52 +0200, Mikael Gerdin wrote:
> > > > Hi Thomas,
> > > >
> > > > On Tuesday 15 July 2014 11.10.53 Thomas Schatzl wrote:
> > > > > Hi all,
> > > > >
> > > > > could I have reviews for the following change that allows G1 to
> > > > >
> > > > > eagerly/early reclaim humongous objects on every GC?
> > > > >
> > > > > Problem:
> > > > >
> > > > > In G1 large objects are always allocated in the old generation,
> > > > > currently requiring a complete heap liveness analysis (full gc,
> > > > > marking)
> > > > > to reclaim them.
> > > > > [...]
>
> [...]
>
> > > Diff to last:
> > > http://cr.openjdk.java.net/~tschatzl/8027959/webrev.0_to_1
> > > Complete:
> > > http://cr.openjdk.java.net/~tschatzl/8027959/webrev.1
> >
> > I had a look through the entirety of webrev.1 again.
> >
> > g1CollectedHeap.hpp:
> > The comment before G1FastCSetBiasedMappedArray about failing TLAB
> > allocations is no longer relevant, since the code has been changed to
> > explicitly handle IsHumongous, right?.
>
> Fixed.
>
> > The enum in_cset_state_t seems like it should live in G1CollectedHeap
> > instead of in the scope of the datastructure used to maintain the
> > information. Not only will that reduce the length of
> > G1FastCSetBiasedMappedArray::InCSet to
> > G1CollectedHeap::InCSet
> > but I think that callers of G1CollectedHeap::in_cset_state should not be
> > required to know that it is in fact backed by a
> > G1FastCSetBIasedMappedArray
> > and that the values' enum is scoped inside that class.
>
> Fixed.
>
> > g1CollectedHeap.cpp:
> > line 5535 contains trailing white space
>
> Fixed.
>
> > TestEagerReclaimHumongousRegions.java:
> > The test looks good to me, but as you know anything may happen in the
> > testing lab :)
>
> It's the best what I could come up with.
>
> > I think the rest of the change looks fine.
>
> Diff to last:
> http://cr.openjdk.java.net/~tschatzl/8027959/webrev.1_to_2
> Complete:
> http://cr.openjdk.java.net/~tschatzl/8027959/webrev.2
Looks good.
/Mikael
>
> Thanks,
> Thomas
More information about the hotspot-gc-dev
mailing list