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

Johannes Bechberger duke at openjdk.java.net
Tue Mar 8 13:17:29 UTC 2022


> 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 with a new target base due to a merge or a rebase. The pull request now contains ten commits:

 - Move code to os::current_thread_wx
 - Small fixes
 - Move WX functionality into os specific files
 - Minor fixes
 - Fix include for threadWXSetters.inline.hpp
 - Remove thread parameter from ThreadWXEnable
 - Remove thread parameter from os methods
 - Remove wx_init and current thread assert in safefetch
 - Use os::current_thread_change_wx instead of thread methods

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

Changes: https://git.openjdk.java.net/jdk/pull/7727/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7727&range=04
  Stats: 241 lines in 32 files changed: 52 ins; 111 del; 78 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7727.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7727/head:pull/7727

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


More information about the serviceability-dev mailing list