make TLS state private to TLS module

This commit is contained in:
Ralf Jung 2019-08-13 09:29:01 +02:00
parent a5eb61a4ad
commit 95fb11d51f

View File

@ -18,17 +18,17 @@ pub struct TlsEntry<'tcx> {
/// The data for this key. None is used to represent NULL.
/// (We normalize this early to avoid having to do a NULL-ptr-test each time we access the data.)
/// Will eventually become a map from thread IDs to `Scalar`s, if we ever support more than one thread.
pub(crate) data: Option<Scalar<Tag>>,
pub(crate) dtor: Option<ty::Instance<'tcx>>,
data: Option<Scalar<Tag>>,
dtor: Option<ty::Instance<'tcx>>,
}
#[derive(Debug)]
pub struct TlsData<'tcx> {
/// The Key to use for the next thread-local allocation.
pub(crate) next_key: TlsKey,
next_key: TlsKey,
/// pthreads-style thread-local storage.
pub(crate) keys: BTreeMap<TlsKey, TlsEntry<'tcx>>,
keys: BTreeMap<TlsKey, TlsEntry<'tcx>>,
}
impl<'tcx> Default for TlsData<'tcx> {