RFR: 8214201: Make PtrQueueSet completed buffer list private

Thomas Schatzl thomas.schatzl at oracle.com
Tue Dec 4 10:04:05 UTC 2018


Hi Kim,

On Mon, 2018-12-03 at 23:06 -0500, Kim Barrett wrote:
> > 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 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.

Looks good. Thanks for the changes.

Thomas





More information about the hotspot-gc-dev mailing list