diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-27 13:58:59 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-27 13:58:59 +0200 |
commit | 8d566fbc3c1954b2da0b0e185e224d5bde99b8e3 (patch) | |
tree | b8a6db458897c6686ed2da30aceeb3e5fdb028a1 /components/script/script_runtime.rs | |
parent | a6d01c92d9a8a8d67cd8164916c86bf1928098f8 (diff) | |
download | servo-8d566fbc3c1954b2da0b0e185e224d5bde99b8e3.tar.gz servo-8d566fbc3c1954b2da0b0e185e224d5bde99b8e3.zip |
Move script_runtime::StackRootTLS to root::ThreadLocalStackRoots
Diffstat (limited to 'components/script/script_runtime.rs')
-rw-r--r-- | components/script/script_runtime.rs | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index e437e1a6001..7985f562cbe 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::PromiseBinding::PromiseJobCallback; use dom::bindings::refcounted::{LiveDOMReferences, trace_refcounted_objects}; -use dom::bindings::root::{RootCollection, RootCollectionPtr, trace_roots}; +use dom::bindings::root::trace_roots; use dom::bindings::settings_stack; use dom::bindings::trace::{JSTraceable, trace_traceables}; use dom::bindings::utils::DOM_CALLBACKS; @@ -23,13 +23,12 @@ use js::panic::wrap_panic; use js::rust::Runtime; use microtask::{EnqueuedPromiseCallback, Microtask}; use profile_traits::mem::{Report, ReportKind, ReportsChan}; -use script_thread::{STACK_ROOTS, trace_thread}; +use script_thread::trace_thread; use servo_config::opts; use servo_config::prefs::PREFS; use std::cell::Cell; use std::fmt; use std::io::{Write, stdout}; -use std::marker::PhantomData; use std::os; use std::os::raw::c_void; use std::panic::AssertUnwindSafe; @@ -102,23 +101,6 @@ pub trait ScriptPort { fn recv(&self) -> Result<CommonScriptMsg, ()>; } -pub struct StackRootTLS<'a>(PhantomData<&'a u32>); - -impl<'a> StackRootTLS<'a> { - pub fn new(roots: &'a RootCollection) -> StackRootTLS<'a> { - STACK_ROOTS.with(|ref r| { - r.set(Some(RootCollectionPtr(roots as *const _))) - }); - StackRootTLS(PhantomData) - } -} - -impl<'a> Drop for StackRootTLS<'a> { - fn drop(&mut self) { - STACK_ROOTS.with(|ref r| r.set(None)); - } -} - /// SM callback for promise job resolution. Adds a promise callback to the current /// global's microtask queue. #[allow(unsafe_code)] |