mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Replace ScopedTLS::unsafe_get by ScopedTLS::into_slots
We only ever look at the slots after we are done with the thread pool, so we don't need to expose any unsafety to inspect the slots.
This commit is contained in:
parent
5d6c5132c1
commit
e7cb736796
2 changed files with 6 additions and 8 deletions
|
@ -165,10 +165,9 @@ pub fn traverse_dom<E, D>(
|
|||
if dump_stats || report_stats {
|
||||
let mut aggregate = mem::replace(&mut context.thread_local.statistics, Default::default());
|
||||
let parallel = maybe_tls.is_some();
|
||||
if let Some(ref mut tls) = maybe_tls {
|
||||
let slots = unsafe { tls.unsafe_get() };
|
||||
for slot in slots {
|
||||
if let Some(ref cx) = *slot.borrow() {
|
||||
if let Some(tls) = maybe_tls {
|
||||
for mut slot in tls.into_slots().into_vec() {
|
||||
if let Some(cx) = slot.get_mut() {
|
||||
aggregate += cx.statistics.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,9 +71,8 @@ impl<'scope, T: Send> ScopedTLS<'scope, T> {
|
|||
RefMut::map(opt, |x| x.as_mut().unwrap())
|
||||
}
|
||||
|
||||
/// Unsafe access to the slots. This can be used to access the TLS when
|
||||
/// the caller knows that the pool does not have access to the TLS.
|
||||
pub unsafe fn unsafe_get(&self) -> &[RefCell<Option<T>>] {
|
||||
&self.slots
|
||||
/// Returns the slots, consuming the scope.
|
||||
pub fn into_slots(self) -> Box<[RefCell<Option<T>>]> {
|
||||
self.slots
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue