diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-04 02:49:04 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-04 02:49:04 +0530 |
commit | 55fc48e4c46917a0f036d0054fac296bb5719434 (patch) | |
tree | c3602ca91ace848d540f40ac488c920e9d4a2e7a /components/layout/layout_thread.rs | |
parent | 633f0414aaa177e439528f0fa848a41bc0fc094a (diff) | |
parent | 117e92aefd0136e192edf132c9bd5c75bce9bd5f (diff) | |
download | servo-55fc48e4c46917a0f036d0054fac296bb5719434.tar.gz servo-55fc48e4c46917a0f036d0054fac296bb5719434.zip |
Auto merge of #9843 - pcwalton:optimize-flat-display-lists, r=mrobinson
Optimize flat display lists
Flat display lists were a 2x regression on the spheres demo. This patch series fixes that.
See the individual commits for more details.
r? @mrobinson
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9843)
<!-- Reviewable:end -->
Diffstat (limited to 'components/layout/layout_thread.rs')
-rw-r--r-- | components/layout/layout_thread.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs index bf4a6ac9745..a361e42fb15 100644 --- a/components/layout/layout_thread.rs +++ b/components/layout/layout_thread.rs @@ -875,9 +875,10 @@ impl LayoutThread { false, None); - sequential::build_display_list_for_subtree(layout_root, - &mut root_stacking_context, - shared_layout_context); + let display_list_entries = + sequential::build_display_list_for_subtree(layout_root, + &mut root_stacking_context, + shared_layout_context); if data.goal == ReflowGoal::ForDisplay { debug!("Done building display list."); @@ -900,11 +901,9 @@ impl LayoutThread { ScrollPolicy::Scrollable, None, root_background_color)); - let display_list = DisplayList::new( - root_stacking_context, - &mut flow::mut_base(flow_ref::deref_mut(layout_root)) - .display_list_building_result); + let display_list = DisplayList::new(root_stacking_context, + &mut Some(display_list_entries)); if opts::get().dump_display_list { display_list.print(); } |