RFR (S): 8155233: Lazy coarse map clear

Jon Masamitsu jon.masamitsu at oracle.com
Thu Apr 28 22:50:32 UTC 2016



On 04/28/2016 02:57 PM, Thomas Schatzl wrote:
> 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.
Thanks.

Note to myself - don't be so cryptic :-)

Looks good.

Jon

>
> 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