RFR: 8282475: SafeFetch should not rely on existence of Thread::current [v4]

David Holmes dholmes at openjdk.java.net
Tue Mar 8 12:39:12 UTC 2022


On Tue, 8 Mar 2022 10:32:46 GMT, Johannes Bechberger <duke at openjdk.java.net> wrote:

>> The WXMode for the current thread (on MacOS aarch64) is currently stored in the thread class which is unnecessary as the WXMode is bound to the current OS thread, not the current instance of the thread class.
>> This pull request moves the storage of the current WXMode into a thread local global variable in `os` and changes all related code. SafeFetch depended on the existence of a thread object only because of the WXMode. This pull request therefore removes the dependency, making SafeFetch usable in more contexts.
>
> Johannes Bechberger has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Move code to os::current_thread_wx
>  - Small fixes

The Linux x86 build failure is not related to this and has already been fixed, so you should re-sync with master branch.

src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.hpp line 45:

> 43:   #ifdef __APPLE__
> 44: 
> 45:   class current_thread_wx {

This violates the style guide for class names. It would be CurrentThreadWX - but ThreadWX seems sufficient to me.

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

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


More information about the serviceability-dev mailing list