Auto merge of #116123 - joboet:rewrite_native_tls, r=m-ou-se

Rewrite native thread-local storage

(part of #110897)

The current native thread-local storage implementation has become quite messy, uses indescriptive names and unnecessarily adds code to the macro expansion. This PR tries to fix that by using a new implementation that also allows more layout optimizations and potentially increases performance by eliminating unnecessary TLS accesses.

This does not change the recursive initialization behaviour I described in [this comment](https://github.com/rust-lang/rust/issues/110897#issuecomment-1525705682), so it should be a library-only change. Changing that behaviour should be quite easy now, however.

r? `@m-ou-se`
`@rustbot` label +T-libs
This commit is contained in:
bors 2024-05-23 14:53:41 +00:00
commit 9c8a58fdb8
10 changed files with 331 additions and 332 deletions

View file

@ -3988,8 +3988,6 @@ ui/test-attrs/issue-52557.rs
ui/test-attrs/issue-53675-a-test-called-panic.rs
ui/threads-sendsync/issue-24313.rs
ui/threads-sendsync/issue-29488.rs
ui/threads-sendsync/issue-43733-2.rs
ui/threads-sendsync/issue-43733.rs
ui/threads-sendsync/issue-4446.rs
ui/threads-sendsync/issue-4448.rs
ui/threads-sendsync/issue-8827.rs