RFR: 8282469: Allow considered use of C++ thread_local in Hotspot

David Holmes dholmes at openjdk.java.net
Mon Mar 7 07:03:21 UTC 2022


This patch provides a means for using C++ `thread_local` when it is essential - see JBS for more details.

There are three parts:

1. Add the new #define for `thread_local`
2. Remove `operator_new.cpp` as use of C++ `thread_local` with a non-trival cleanup actions requires use of global operators new/delete. These are still excluded for hotspot use via a link-time check.
3. Remove the prohibition on using `thread_local` from the hotspot style guide

Due to the way hotspot style guide changes must be done, part 3 is being done under a sub-task in PR https://github.com/openjdk/jdk/pull/7720 and the two PR's will integrate at the same time.

Testing:
  - manual testing of the Panama usecase as referenced in the JBS issue
  - Tiers 1-3

Thanks,
David

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

Commit messages:
 - 8282469: Allow considered use of C++ thread_local in Hotspot

Changes: https://git.openjdk.java.net/jdk/pull/7719/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7719&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8282469
  Stats: 104 lines in 2 files changed: 4 ins; 100 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7719.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7719/head:pull/7719

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


More information about the hotspot-dev mailing list