RFR: 8271513: support JavaThreadIteratorWithHandle replacement by new ThreadsList::Iterator [v2]

David Holmes dholmes at openjdk.java.net
Tue Aug 3 02:09:36 UTC 2021


On Mon, 2 Aug 2021 04:13:25 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Daniel D. Daugherty has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
>> 
>>  - Merge branch 'pull/4671' into JDK-8271513
>>  - kbarrett CR - simplify 'ThreadsList::Iterator::operator!=(Iterator i)'
>>  - 8271513: support JavaThreadIteratorWithHandle replacement by new ThreadsList::Iterator
>>  - 8193559.kbarrett.part1 - Kim's proposed rewrite using newer C++ features.
>>  - Merge branch 'master' into JDK-8193559
>>  - kbarrett CR - delete unused _list member.
>>  - 8193559.cr0
>
> src/hotspot/share/runtime/threadSMR.inline.hpp line 110:
> 
>> 108: }
>> 109: 
>> 110: ThreadsListHandle::Iterator ThreadsListHandle::begin() { return list()->begin(); }
> 
> I don't understand this - why is the return type not `ThreadsList::Iterator` as per the declaration in the hpp file? That `using` directive is apparently doing something more bizarre than I thought.

See above. I think I understand this now. Don't like it; but understand it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4948


More information about the hotspot-runtime-dev mailing list