mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +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 scoped_tls::ScopedTLS;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::borrow::Borrow;
|
use std::borrow::Borrow;
|
||||||
use std::mem;
|
|
||||||
use time;
|
use time;
|
||||||
use traversal::{DomTraversal, PerLevelTraversalData, PreTraverseToken};
|
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.
|
// Which are not at all uncommon.
|
||||||
if !discovered_child_nodes.is_empty() {
|
if !discovered_child_nodes.is_empty() {
|
||||||
let children = mem::replace(&mut discovered_child_nodes, Default::default());
|
|
||||||
let mut traversal_data_copy = traversal_data.clone();
|
let mut traversal_data_copy = traversal_data.clone();
|
||||||
traversal_data_copy.current_dom_depth += 1;
|
traversal_data_copy.current_dom_depth += 1;
|
||||||
traverse_nodes(&*children,
|
traverse_nodes(&*discovered_child_nodes,
|
||||||
DispatchMode::NotTailCall,
|
DispatchMode::NotTailCall,
|
||||||
recursion_depth,
|
recursion_depth,
|
||||||
root,
|
root,
|
||||||
|
@ -199,6 +197,7 @@ fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>],
|
||||||
pool,
|
pool,
|
||||||
traversal,
|
traversal,
|
||||||
tls);
|
tls);
|
||||||
|
discovered_child_nodes.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
let node = **n;
|
let node = **n;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue