RFR: 8271514: support JFR use of new ThreadsList::Iterator [v2]
Kim Barrett
kbarrett at openjdk.java.net
Thu Aug 5 04:03:30 UTC 2021
On Wed, 4 Aug 2021 22:56:15 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
>> src/hotspot/share/jfr/utilities/jfrThreadIterator.hpp line 50:
>>
>>> 48: class JfrJavaThreadIteratorAdapter {
>>> 49: private:
>>> 50: ThreadsListHandle _tlist;
>>
>> Why do we need to store this?
>>
>> It looks very suspiocious to have a member that is a stackObj, in a class that is not itself a stackObj. ??
>
> The _tlist is used locally in JfrJavaThreadIteratorAdapter constructor only, so it is possible to get rid of it for the price of complicating the constructor a little bit.
The `_tlist` is a handle that ensures the captured ThreadsList remains live while the iterator (or a copy) exists. Dropping it would leave `_it` and `_end` potentially dangling.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4949
More information about the serviceability-dev
mailing list