mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Avoid memmoving the large smallvec in Parallel.rs.
MozReview-Commit-ID: 7nzjMwOmszZ
This commit is contained in:
parent
9d78008acb
commit
2a58c0768b
1 changed files with 2 additions and 3 deletions
|
@ -29,7 +29,6 @@ use rayon;
|
|||
use scoped_tls::ScopedTLS;
|
||||
use smallvec::SmallVec;
|
||||
use std::borrow::Borrow;
|
||||
use std::mem;
|
||||
use time;
|
||||
use traversal::{DomTraversal, PerLevelTraversalData, PreTraverseToken};
|
||||
|
||||
|
@ -187,10 +186,9 @@ fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>],
|
|||
//
|
||||
// Which are not at all uncommon.
|
||||
if !discovered_child_nodes.is_empty() {
|
||||
let children = mem::replace(&mut discovered_child_nodes, Default::default());
|
||||
let mut traversal_data_copy = traversal_data.clone();
|
||||
traversal_data_copy.current_dom_depth += 1;
|
||||
traverse_nodes(&*children,
|
||||
traverse_nodes(&*discovered_child_nodes,
|
||||
DispatchMode::NotTailCall,
|
||||
recursion_depth,
|
||||
root,
|
||||
|
@ -199,6 +197,7 @@ fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>],
|
|||
pool,
|
||||
traversal,
|
||||
tls);
|
||||
discovered_child_nodes.clear();
|
||||
}
|
||||
|
||||
let node = **n;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue