]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #74969 - nnethercote:rm-GCX_PTR, r=Mark-Simulacrum
authorbors <bors@rust-lang.org>
Mon, 3 Aug 2020 01:50:25 +0000 (01:50 +0000)
committerbors <bors@rust-lang.org>
Mon, 3 Aug 2020 01:50:25 +0000 (01:50 +0000)
Remove `GCX_PTR`.

We store an `ImplicitCtxt` pointer in a thread-local value (TLV). This allows
implicit access to a `GlobalCtxt` and some other things.

We also store a `GlobalCtxt` pointer in `GCX_PTR`. This is always the same
`GlobalCtxt` as the one within the `ImplicitCtxt` pointer in TLV. `GCX_PTR`
is only used in the parallel compiler's `handle_deadlock()` function.

This commit does the following.
- It removes `GCX_PTR`.
- It also adds `ImplicitCtxt::new()`, which constructs an `ImplicitCtxt` from a
  `GlobalCtxt`. `ImplicitCtxt::new()` + `tls::enter_context()` is now
  equivalent to the old `tls::enter_global()`.
- Makes `tls::get_tlv()` public for the parallel compiler, because it's
  now used in `handle_deadlock()`.

r? @petrochenkov


Trivial merge