mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
dom: Extract non-generic code from Root::new.
This commit is contained in:
parent
96698779cc
commit
1feeb23514
1 changed files with 11 additions and 6 deletions
|
@ -63,12 +63,17 @@ where
|
|||
/// out references which cannot outlive this new `Root`.
|
||||
#[allow(unrooted_must_root)]
|
||||
pub unsafe fn new(value: T) -> Self {
|
||||
debug_assert!(thread_state::get().is_script());
|
||||
STACK_ROOTS.with(|ref root_list| {
|
||||
let root_list = &*root_list.get().unwrap();
|
||||
root_list.root(value.stable_trace_object());
|
||||
Root { value, root_list }
|
||||
})
|
||||
unsafe fn add_to_root_list(object: *const dyn JSTraceable) -> *const RootCollection {
|
||||
debug_assert!(thread_state::get().is_script());
|
||||
STACK_ROOTS.with(|ref root_list| {
|
||||
let root_list = &*root_list.get().unwrap();
|
||||
root_list.root(object);
|
||||
root_list
|
||||
})
|
||||
}
|
||||
|
||||
let root_list = add_to_root_list(value.stable_trace_object());
|
||||
Root { value, root_list }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue