On Wed, 3 Mar 2021 05:15:48 GMT, David Holmes <[email protected]> wrote:
> ObjectMonitors can only be used by JavaThreads (modulo some interactions with
> hashcodes and deflation) but we use "Thread*" almost everywhere mainly due to
> use of TRAPS (and TRAPS will itself use JavaThread once JDK-8252685 is done).
> Also some uses of TRAPS in the API's are wrong as, for example, monitor entry
> can never throw an exception.
>
> So this cleanup tackles:
> - remove incorrect use of TRAPS
> - change "Thread*" to "JavaThread*" where applicable
> - don't use THREAD for things not related to exception processing
> - standardise the naming so that we have "JavaThread* current" rather a mix
> if Self/THREAD/jt etc.
> - remove unnecessary as_Java_thread() conversions
> - other misc cleanup I noticed in some functions
>
> The cleanup is predominantly in objectMonitor.* and synchronizer.* but with a
> fan out to the users of those APIs. No attempt is made to cleanup the callers
> beyond ensuring we have a suitable JavaThread reference for the calls.
>
> Thanks,
> David
src/hotspot/share/runtime/objectMonitor.cpp line 1676:
> 1674: // we might just dequeue a thread from the WaitSet and directly
> unpark() it.
> 1675:
> 1676: void ObjectMonitor::INotify(JavaThread * current) {
nit: space between JavaThread and star.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2802