RFR: 8262910: Cleanup THREAD/TRAPS/naming and typing issues in ObjectMonitor and related code

David Holmes dholmes at openjdk.java.net
Wed Mar 3 10:23:06 UTC 2021


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

-------------

Commit messages:
 - Forgot to updated Graal config for JVMCI structs change
 - 8262910: Cleanup THREAD/TRAPS/naming and typing issues in ObjectMonitor and related code

Changes: https://git.openjdk.java.net/jdk/pull/2802/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2802&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262910
  Stats: 515 lines in 18 files changed: 15 ins; 58 del; 442 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2802.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2802/head:pull/2802

PR: https://git.openjdk.java.net/jdk/pull/2802


More information about the hotspot-runtime-dev mailing list