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
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.
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
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.
- relates to
-
JDK-8252685 APIs that require JavaThread should take JavaThread arguments
-
- Resolved
-