RFR: 8214201: Make PtrQueueSet completed buffer list private

Kim Barrett kim.barrett at oracle.com
Tue Dec 4 04:06:33 UTC 2018


> On Dec 3, 2018, at 3:19 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> Maybe move PtrQueueSet::_notify_when_complete and _all_active after the
>> _max_completed_buffers and the _completed_buffers_padding; the latter
>> are directly related to buffer completion started above the
>> _all_active, while the others seem to be more related to thread
>> management. But it is fine to keep it as is too.
> 
> _notify_when_complete is related to _process_completed_buffers_threshold,
> in that notification is done when the notify flag is true and the
> number of buffers exceeds the threshold.
> 
> But _all_active is indeed completely unrelated to the others. And if
> I'm not misremembering, the whole active/inactive distinction is only
> relevant to the SATBMarkQueue(Set), with DirtyCardQueue(Set) just
> always being "active", so maybe it shouldn't be at the PtrQueue(Set)
> layer at all.  But doing anything about that would be for some future
> RFE.  (Note that I have more changes coming in this area, some at
> least partially developed.  But moving these declarations around a bit
> here looks pretty harmless to that work.)

After looking at it again, I realized that all of these data members
except _all_active could now be made private, so I've done that.

(Doing so involved not using the SizeTFlagSetting helper in
concatenate_logs after all.)

Also made the assert helper function private.

New webrevs:
full: http://cr.openjdk.java.net/~kbarrett/8214201/open.01/
incr: http://cr.openjdk.java.net/~kbarrett/8214201/open.01.inc/

Tested latest with mach5 tier1.





More information about the hotspot-gc-dev mailing list