RFR(S) 8038405: Clean up some virtual fucntions in Space class hierarchy
Mikael Gerdin
mikael.gerdin at oracle.com
Fri Mar 28 12:03:12 UTC 2014
Jon,
On Thursday 27 March 2014 16.05.27 Jon Masamitsu wrote:
> On 3/27/2014 8:18 AM, Mikael Gerdin wrote:
> > Hi,
> >
> > On Wednesday 26 March 2014 17.22.03 Mikael Gerdin wrote:
> >> Hi,
> >>
> >> I'm doing some cleanups in the "Space" classes to simplify the code for
> >> the
> >> G1 class unloading work[1].
> >> This change moves around some virtual functions in Space to more (in my
> >> mind) sane places:
> >>
> >> * Space::is_in is implemented the same by all Space subclasses, move it
> >> to
> >> Space and make it non-virtual.
> >> * Space::used_region has a bogus implementation that is never useful,
> >> remove it.
>
> Minor point but used_region() did do as the comment says. It just
> most often returned a region that include more than just the allocated
> objects, and not a proper subregion. Could you change the comment to
>
> 136 // Returns a subregion of the space
> containingonlytheallocatedobjects in 137 // the space.
>
> if that is how it is used in all the other spaces.
That's a good point.
I've updated the comment as per your suggestion.
>
> Rest looks good.
Thanks
/Mikael
>
> Reviewed.
>
> Jon
>
> >> * Consolidate more code related to saved_marks in the Space base class
> >
> > When making set_saved_mark non-virtual G1OffsetTableContigSpace's override
> > of set_saved_mark became a shadowing function instead. The code still
> > works fine since all calls to G1OffsetTableContigSpace::set_saved_mark
> > are on pointers to HeapRegion and not the base class.
> >
> > To clarify that G1 uses the "saved_mark" functionality for a completely
> > different purpose I have renamed the G1 function to
> > record_top_and_timestamp:
> >
> > Incremental webrev:
> > http://cr.openjdk.java.net/~mgerdin/8038405/webrev.0.to.1 Webrev:
> > http://cr.openjdk.java.net/~mgerdin/8038405/webrev.1
> >
> > /Mikael
> >
> >> * Make CompactibleSpace::reset_after_compaction a pure virtual.
> >> * Give Space::minimum_free_block_size a default implementation since only
> >> CMS needs to override it.
> >>
> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8038405
> >> Webrev: http://cr.openjdk.java.net/~mgerdin/8038405/webrev.0
> >>
> >> /Mikael
> >>
> >> [1] http://openjdk.java.net/jeps/156
More information about the hotspot-gc-dev
mailing list