RFR (S/M): 8014078: G1: improve remembered set summary information by providing per region type information
Thomas Schatzl
thomas.schatzl at oracle.com
Wed Jun 5 10:20:14 UTC 2013
Hi all,
On Wed, 2013-06-05 at 01:38 +0200, Thomas Schatzl wrote:
> Hi,
>
> On Tue, 2013-06-04 at 16:01 -0700, John Cuthbertson wrote:
> > Hi Thomas,
> >
> > I think RegionTypeCounter should inherit from _ValueObj (by means of
> > VALUE_OBJ_CLASS_SPEC).
> >
> > Also a couple of nitty questions (feel free to ignore):
> >
> > * Does the value parameter to RegionTypeCounter::percent_of need to be
> > passed as a pointer? It looks like you pass the address of a field in
> > the RegionTypeCounter instance and then dereference.
>
> Fixed both things. I am not sure why the code passes the address of the
> field, but this is probably a leftover of some earlier version.
>
> I also combined the calc_percentage() function with the
> RegionTypeCounter::percent_of() method as they are the same.
>
> > * For continuous humongous would it make sense to skip them until we
> > process the StartsHumongous region and sum up the memory size and the
> > occupied value for the entire humongous region (HS and HC) before adding
> > to the humongous region counter?
>
> Imho there is no need to do that - the memory sizes and occupancies of
> HS and HC regions are completely independent. I.e. the order of
> evaluation does not matter here. Doing so seems to only complicate the
> code.
a current webrev is at
http://cr.openjdk.java.net/~tschatzl/8014078/webrev.2/ incorporating the
suggested changes. In detail:
- let RegionTypeCounter inherit from _ValueObj (via
VALUE_OBJ_CLASS_SPEC)
- fixed the first parameter of percent_of to not pass the value by
address
- merged RegionTypeCounter::percent_of() and calc_percentage()
- did _not_ change the iteration over the humonguous regions as
suggested, for the reason above
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list