From 17a9f8507e90f560571c13fb33204d1602b86ee4 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 23 Jul 2015 19:29:58 +0200 Subject: [PATCH 1/3] Remove the unused proxy argument to ParallelPostorderFlowTraversal::run_parallel. --- components/layout/parallel.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 3a122a8f88d..836f8cff1bf 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -238,9 +238,7 @@ trait ParallelPostorderFlowTraversal : PostorderFlowTraversal { /// /// The only communication between siblings is that they both /// fetch-and-subtract the parent's children count. - fn run_parallel(&self, - mut unsafe_flow: UnsafeFlow, - _: &mut WorkerProxy) { + fn run_parallel(&self, mut unsafe_flow: UnsafeFlow) { loop { // Get a real flow. let flow: &mut FlowRef = unsafe { @@ -420,7 +418,7 @@ fn assign_block_sizes_and_store_overflow( let assign_block_sizes_traversal = AssignBSizesAndStoreOverflow { layout_context: &layout_context, }; - assign_block_sizes_traversal.run_parallel(unsafe_flow, proxy) + assign_block_sizes_traversal.run_parallel(unsafe_flow) } fn compute_absolute_positions( @@ -443,7 +441,7 @@ fn build_display_list(unsafe_flow: UnsafeFlow, layout_context: &layout_context, }; - build_display_list_traversal.run_parallel(unsafe_flow, proxy); + build_display_list_traversal.run_parallel(unsafe_flow); } fn run_queue_with_custom_work_data_type( From a18dea65787ca158d378a8eb1dc34035b20fa9e6 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 23 Jul 2015 19:30:26 +0200 Subject: [PATCH 2/3] Pass the SharedLayoutContext to FlowTraversalFunctions directly. --- components/layout/parallel.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 836f8cff1bf..322bfa07d2e 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -98,8 +98,7 @@ pub type DomTraversalFunction = pub type ChunkedFlowTraversalFunction = extern "Rust" fn(UnsafeFlowList, &mut WorkerProxy); -pub type FlowTraversalFunction = - extern "Rust" fn(UnsafeFlow, &mut WorkerProxy); +pub type FlowTraversalFunction = extern "Rust" fn(UnsafeFlow, &SharedLayoutContext); /// A parallel top-down DOM traversal. pub trait ParallelPreorderDomTraversal : PreorderDomTraversal { @@ -321,7 +320,7 @@ trait ParallelPreorderFlowTraversal : PreorderFlowTraversal { // If there were no more children, start assigning block-sizes. if !had_children { - bottom_up_func(unsafe_flow, proxy) + bottom_up_func(unsafe_flow, proxy.user_data()) } } @@ -412,8 +411,7 @@ fn assign_inline_sizes(unsafe_flows: UnsafeFlowList, fn assign_block_sizes_and_store_overflow( unsafe_flow: UnsafeFlow, - proxy: &mut WorkerProxy) { - let shared_layout_context = proxy.user_data(); + shared_layout_context: &SharedLayoutContext) { let layout_context = LayoutContext::new(shared_layout_context); let assign_block_sizes_traversal = AssignBSizesAndStoreOverflow { layout_context: &layout_context, @@ -433,8 +431,7 @@ fn compute_absolute_positions( } fn build_display_list(unsafe_flow: UnsafeFlow, - proxy: &mut WorkerProxy) { - let shared_layout_context = proxy.user_data(); + shared_layout_context: &SharedLayoutContext) { let layout_context = LayoutContext::new(shared_layout_context); let build_display_list_traversal = BuildDisplayList { From 14fbfa6aea190a332597100a85e33adb6249fecf Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 23 Jul 2015 19:30:43 +0200 Subject: [PATCH 3/3] Remove unused implementation of ParallelPostorderFlowTraversal for BubbleISizes. --- components/layout/parallel.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 322bfa07d2e..efe49165850 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -333,8 +333,6 @@ trait ParallelPreorderFlowTraversal : PreorderFlowTraversal { } } -impl<'a> ParallelPostorderFlowTraversal for BubbleISizes<'a> {} - impl<'a> ParallelPreorderFlowTraversal for AssignISizes<'a> { fn run_parallel(&self, unsafe_flows: UnsafeFlowList,