RFR: 8249004: Reduce ThreadsListHandle overhead in relation to direct handshakes [v10]
Daniel D.Daugherty
dcubed at openjdk.java.net
Wed Nov 3 16:08:25 UTC 2021
On Wed, 3 Nov 2021 01:21:50 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Daniel D. Daugherty has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8249004.cr2.patch
>
> src/hotspot/share/runtime/thread.cpp line 446:
>
>> 444: Thread* current_thread = nullptr;
>> 445: if (checkTLHOnly) {
>> 446: current_thread = Thread::current();
>
> This seems redundant due to line 463. You can just have a `if (!checkTLHOnly)` block here.
I suspect that the way that git is displaying the diffs is confusing you.
We need `current_thread` set if we get to line 474 so we have to init
`current_thread` on line 446 for the `checkTLHOnly == true` case and
on line 463 for the `checkTLHOnly == false` case.
I could simplify the logic by always setting current thread when it is
declared on 444, but I was trying to avoid the call to `Thread::current()`
until I actually needed it. I thought `Thread::current()` can be expensive.
Is this no longer the case?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4677
More information about the serviceability-dev
mailing list