diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs index fbc1cd26daf..98aebbcf47f 100644 --- a/components/layout/layout_thread.rs +++ b/components/layout/layout_thread.rs @@ -855,19 +855,7 @@ impl LayoutThread { flow::mut_base(flow_ref::deref_mut(layout_root)).clip = ClippingRegion::from_rect(&data.page_clip_rect); - match (&mut self.parallel_traversal, opts::get().parallel_display_list_building) { - (&mut Some(ref mut traversal), true) => { - parallel::build_display_list_for_subtree(layout_root, - metadata, - sender, - shared_layout_context, - traversal); - } - _ => { - sequential::build_display_list_for_subtree(layout_root, - shared_layout_context); - } - } + sequential::build_display_list_for_subtree(layout_root, shared_layout_context); if data.goal == ReflowGoal::ForDisplay { debug!("Done building display list."); diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 4ea427b11ee..39986d86580 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -17,8 +17,8 @@ use std::sync::atomic::{AtomicIsize, Ordering}; use style::dom::{TNode, UnsafeNode}; use style::parallel::{CHUNK_SIZE, WorkQueueData}; use style::parallel::{run_queue_with_custom_work_data_type}; -use traversal::{AssignBSizesAndStoreOverflow, AssignISizes, BubbleISizes}; -use traversal::{BuildDisplayList, ComputeAbsolutePositions, PostorderNodeMutTraversal}; +use traversal::AssignBSizesAndStoreOverflow; +use traversal::{AssignISizes, BubbleISizes, PostorderNodeMutTraversal}; use util::opts; use util::workqueue::{WorkQueue, WorkUnit, WorkerProxy}; @@ -200,23 +200,6 @@ impl<'a> ParallelPreorderFlowTraversal for AssignISizes<'a> { impl<'a> ParallelPostorderFlowTraversal for AssignBSizesAndStoreOverflow<'a> {} -impl<'a> ParallelPreorderFlowTraversal for ComputeAbsolutePositions<'a> { - fn run_parallel(&self, - unsafe_flows: UnsafeFlowList, - proxy: &mut WorkerProxy) { - self.run_parallel_helper(unsafe_flows, - proxy, - compute_absolute_positions, - build_display_list) - } - - fn should_record_thread_ids(&self) -> bool { - false - } -} - -impl<'a> ParallelPostorderFlowTraversal for BuildDisplayList<'a> {} - fn assign_inline_sizes(unsafe_flows: UnsafeFlowList, proxy: &mut WorkerProxy) { let shared_layout_context = proxy.user_data(); @@ -237,28 +220,6 @@ fn assign_block_sizes_and_store_overflow( assign_block_sizes_traversal.run_parallel(unsafe_flow) } -fn compute_absolute_positions( - unsafe_flows: UnsafeFlowList, - proxy: &mut WorkerProxy) { - let shared_layout_context = proxy.user_data(); - let layout_context = LayoutContext::new(shared_layout_context); - let compute_absolute_positions_traversal = ComputeAbsolutePositions { - layout_context: &layout_context, - }; - compute_absolute_positions_traversal.run_parallel(unsafe_flows, proxy); -} - -fn build_display_list(unsafe_flow: UnsafeFlow, - shared_layout_context: &SharedLayoutContext) { - let layout_context = LayoutContext::new(shared_layout_context); - - let build_display_list_traversal = BuildDisplayList { - layout_context: &layout_context, - }; - - build_display_list_traversal.run_parallel(unsafe_flow); -} - pub fn traverse_flow_tree_preorder( root: &mut FlowRef, profiler_metadata: Option, @@ -281,20 +242,3 @@ pub fn traverse_flow_tree_preorder( }); }, shared_layout_context); } - -pub fn build_display_list_for_subtree( - root: &mut FlowRef, - profiler_metadata: Option, - time_profiler_chan: time::ProfilerChan, - shared_layout_context: &SharedLayoutContext, - queue: &mut WorkQueue) { - run_queue_with_custom_work_data_type(queue, |queue| { - profile(time::ProfilerCategory::LayoutParallelWarmup, profiler_metadata, - time_profiler_chan, || { - queue.push(WorkUnit { - fun: compute_absolute_positions, - data: (box vec![mut_owned_flow_to_unsafe_flow(root)], 0), - }) - }); - }, shared_layout_context); -} diff --git a/components/util/opts.rs b/components/util/opts.rs index d2dbdc1c382..90135fb78ca 100644 --- a/components/util/opts.rs +++ b/components/util/opts.rs @@ -169,9 +169,6 @@ pub struct Opts { /// Whether Style Sharing Cache is used pub disable_share_style_cache: bool, - /// Whether to run absolute position calculation and display list construction in parallel. - pub parallel_display_list_building: bool, - /// Translate mouse input into touch events. pub convert_mouse_to_touch: bool, @@ -263,9 +260,6 @@ pub struct DebugOptions { /// Disable the style sharing cache. pub disable_share_style_cache: bool, - /// Build display lists in parallel. - pub parallel_display_list_building: bool, - /// Translate mouse input into touch events. pub convert_mouse_to_touch: bool, @@ -316,7 +310,6 @@ impl DebugOptions { "trace-layout" => debug_options.trace_layout = true, "validate-display-list-geometry" => debug_options.validate_display_list_geometry = true, "disable-share-style-cache" => debug_options.disable_share_style_cache = true, - "parallel-display-list-building" => debug_options.parallel_display_list_building = true, "convert-mouse-to-touch" => debug_options.convert_mouse_to_touch = true, "replace-surrogates" => debug_options.replace_surrogates = true, "gc-profile" => debug_options.gc_profile = true, @@ -497,7 +490,6 @@ pub fn default_opts() -> Opts { profile_script_events: false, profile_heartbeats: false, disable_share_style_cache: false, - parallel_display_list_building: false, convert_mouse_to_touch: false, exit_after_load: false, no_native_titlebar: false, @@ -737,7 +729,6 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { relayout_event: debug_options.relayout_event, validate_display_list_geometry: debug_options.validate_display_list_geometry, disable_share_style_cache: debug_options.disable_share_style_cache, - parallel_display_list_building: debug_options.parallel_display_list_building, convert_mouse_to_touch: debug_options.convert_mouse_to_touch, exit_after_load: opt_match.opt_present("x"), no_native_titlebar: opt_match.opt_present("b"),