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 ------------- Commit messages: - 8268368: Adopt cast notation for JavaThread conversions Changes: https://git.openjdk.java.net/jdk/pull/4546/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268368 Stats: 159 lines in 64 files changed: 13 ins; 19 del; 127 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