RFR: 8227054: ServiceThread needs to know about all OopStorage objects
Kim Barrett
kim.barrett at oracle.com
Wed Aug 21 22:02:51 UTC 2019
> On Aug 20, 2019, at 9:41 PM, coleen.phillimore at oracle.com wrote:
>
>
>
> On 8/20/19 5:10 PM, Kim Barrett wrote:
>>> On Aug 20, 2019, at 3:42 PM, coleen.phillimore at oracle.com wrote:
>>>
>>>
>>> The iterator code seems to have taken on a life of it's own, but the runtime changes still look good.
>> Thanks.
>>
>>> Can you put some comment about why is there a singular iterator and what its purpose is? Is there some implicit use I can't find?
>>>
>>> + // Construct a singular iterator. The only valid operations are
>>> + // destruction/copy/assignment.
>>> + Iterator() :
>>> + _index(singular_index),
>>> + _limit(singular_index)
>>> + DEBUG_ONLY(COMMA _category(singular)) {}
>>> +
>>>
>> Does this help?
>>
>> - // Construct a singular iterator. The only valid operations are
>> - // destruction/copy/assignment.
>> + // Construct a singular iterator, not associated with any of the sets
>> + // (strong, weak, or all) of storage objects. The only valid operations
>> + // are destruction/copy/assignment.
>>
>> Singular iterators exist so you can declare a variable and later assign to it.
>
> Add this sentence to the comment and I'm fine. I wanted the comment to say why it exists.
Coleen and I discussed this offline and have reached agreement on
// Construct a singular iterator for later assignment. The only valid
// operations are destruction and assignment.
for both OopStorageSet::Iterator() and WeakProcessorPhases::Iterator().
More information about the hotspot-dev
mailing list