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 Hi David, Changes look good to me. Thanks, Patricio src/hotspot/share/runtime/objectMonitor.hpp line 306: > 304: > 305: bool enter(JavaThread* current); > 306: void exit(bool not_suspended, TRAPS); Shouldn't we also remove use of TRAPS for exit()? In case of unbalanced locking we don't throw IMSE, only just assert. ------------- Marked as reviewed by pchilanomate (Committer). PR: https://git.openjdk.java.net/jdk/pull/2802
