RFR (S): 8155233: Lazy coarse map clear

Thomas Schatzl thomas.schatzl at oracle.com
Thu Apr 28 21:57:54 UTC 2016


Hi Jon,

On Thu, 2016-04-28 at 14:00 -0700, Jon Masamitsu wrote:
> 
> On 04/28/2016 01:10 PM, Thomas Schatzl wrote:
> > 
> > Hi Jon,
> > 
> > On Thu, 2016-04-28 at 10:59 -0700, Jon Masamitsu wrote:
> > > 
> > > http://cr.openjdk.java.net/~tschatzl/8155233/webrev/src/share/vm/
> > > gc/g
> > > 1/heapRegionRemSet.cpp.frames.html
> > > 
> > > When is this not sufficient
> > > 
> > > 526 _coarse_dirty = _n_coarse_entries != 0;
> > > 
> > > such that you need to set _coarse_dirty here?
> > > 
> > > 508 _coarse_dirty = true;
> > Not completely sure about the question, these seem to be unrelated.
> > 508
> > deals with the case when we set any bit in the coarse bitmap while
> > adding any references. If so, we can't optimize out the clear() in
> > line
> > 652, when the remembered set should be freed.
> What I thought was that since _n_coarse_entries was being incremented
> at the same time as _coarse_dirty was being set to true

Now I understand. Yes, that's much better, thanks.

New webrev:
http://cr.openjdk.java.net/~tschatzl/8155233/webrev.1_to_2/ (diff)
http://cr.openjdk.java.net/~tschatzl/8155233/webrev.2/ (full)

Thanks,
  Thomas


More information about the hotspot-gc-dev mailing list