RFR: 8268368: Adopt cast notation for JavaThread conversions [v2]

Guoxiong Li gli at openjdk.java.net
Tue Jun 22 07:17:00 UTC 2021


> Hi all,
> 
> Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes.
> 
> This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead.
> 
> Test:
> tier1 passed locally.
> 
> Thanks for taking the time to review.
> 
> Best Regards,
> -- Guoxiong

Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision:

  Fix incorrect use of the method cast

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4546/files
  - new: https://git.openjdk.java.net/jdk/pull/4546/files/3c9f6dbe..259730be

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4546.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4546/head:pull/4546

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


More information about the serviceability-dev mailing list