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 
> > 
> > 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
- fixed the first parameter of percent_of to not pass the value by
- merged RegionTypeCounter::percent_of() and calc_percentage()

- did _not_ change the iteration over the humonguous regions as
suggested, for the reason above


More information about the hotspot-gc-dev mailing list