RFR: 8276824: refactor Thread::is_JavaThread_protected
Coleen Phillimore
coleenp at openjdk.java.net
Tue Nov 9 15:32:42 UTC 2021
On Tue, 9 Nov 2021 15:07:58 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
> Refactor `Thread::is_JavaThread_protected(const JavaThread* p, bool checkTLHOnly)`
> into: `bool Thread::is_JavaThread_protected(const JavaThread* p)`
> and: `Thread::is_JavaThread_protected_by_TLH(const JavaThread* p)`.
> Also change callers that passed `checkTLHOnly == true` into calls to
> `Thread::is_JavaThread_protected_by_TLH(const JavaThread* p)`.
>
> This refactoring is being tested with Mach5 Tier[1-3] (in process).
>
> In the "Files changed" view, enable "Settings -> Hide whitespace" for an easier review.
Thank you for this refactoring. A small suggestion, we'll see if it's popular or not.
src/hotspot/share/runtime/thread.cpp line 490:
> 488: // with the calling Thread?
> 489: //
> 490: bool Thread::is_JavaThread_protected_by_TLH(const JavaThread* p) {
I think you could pass JavaThread* current as the first parameter here. The naming will help to keep it straight and make this an assert(current == JavaThread::current() if this is deemed to be expensive.
At the callsites below, it would make it obvious that "this" isn't meant to be the current thread (and calling Thread::current() inside a (tbd) assert would make it clear which thread is which.
With this handshake code I continuously am trying to figure out which thread is current vs. target.
-------------
Marked as reviewed by coleenp (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/6315
More information about the hotspot-runtime-dev
mailing list