• N
    Remove `GCX_PTR`. · d93277b9
    Nicholas Nethercote 提交于
    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()`.
    d93277b9
Cargo.lock 112.1 KB