RFR(S) 8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace
Thomas Schatzl
thomas.schatzl at oracle.com
Thu Mar 27 09:02:40 UTC 2014
Hi Mikael,
On Thu, 2014-03-27 at 09:56 +0100, Mikael Gerdin wrote:
> Hi Thomas,
>
> On Thursday 27 March 2014 09.24.07 Thomas Schatzl wrote:
> > Hi Mikael,
> >
> > On Wed, 2014-03-26 at 17:21 +0100, Mikael Gerdin wrote:
> > > Hi,
> > >
> > > I'm doing some cleanups in the "Space" classes to simplify the code for
> > > the G1 class unloading work[1].
> > > Here's a change to move code only used for CMS from virtuals on Space to
> > > only be declared and defined where needed.
> >
> > some comments:
> >
> > - in ContiguousSpace, after moving object_iterate_careful(), the
> > comment "// iterates on objects up to the safe limit" seems to be
> > obsolete now since the new comment seems better.
>
> Yes, I'll remove the obsolete comment.
>
> >
> > - object_iterate_careful() seems to be only used by CFLSpace: why not
> > move it to compactibleFreeListSpace?
> >
> > Actually everything that has to do with it
> > (concurrent_iteration_safe_limit(), oop_since_save_marks_iterate*, and a
> > lot of other code) seems to be specific to CMS.
>
> CMS code is the only caller of object_iterate_careful, however it is invoked
> on the spaces of the {Def,Par}NewGeneration, these are ContiguousSpaces and
> need to provide this API for CMS.
>
> >
> > Are you going to merge this code with similar G1 code like
> > HeapRegion::object_iterate_*mem_*careful() later, so you kept this code
> > for now in ContiguousSpace?
>
> object_iterate_careful needs to be in ContiguousSpace for the reasons I stated
> above.
>
> HeapRegion::object_iterate_mem_careful seems to only ever be used with
> [bottom, top) but it actually also takes care to only look at objects which
> are "live" according to G1's is_obj_dead. I have some ideas about how to solve
> this but I'd like to leave this as is for now.
Thanks for the clarification. Then, with the removed comment, ship it.
Thomas
More information about the hotspot-gc-dev
mailing list