aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/parallel.rs
Commit message (Collapse)AuthorAgeFilesLines
* clippy: Fix warnings in `components/layout` (#31612)eri2024-03-111-1/+2
| | | | | * clippy: fix warnings in components/layout * fix: formatting
* clippy: fix warnings in various modules in components (#31568)eri2024-03-081-1/+8
| | | | | | | | | * clippy: fix warnings in various modules in components * fix: unit tests * fix: build on android * fix: all samplers use new_boxed
* Lint layout_2013 with clippy (#31221)Oriol Brufau2024-01-301-10/+16
| | | | | | | | | * Lint layout_2013 with clippy CARGO_BUILD_RUSTC=rustc cargo clippy --fix -p layout_2013 --broken-code * ./mach fmt * Cosmetic adjustments
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-111-8/+10
| | | | | * strict imports formatting * Reformat all imports
* Clean up debug optionsMartin Robinson2023-05-011-1/+1
|
* Update rayon to dedupe crossbeam-epochBastien Orivel2019-07-121-3/+3
| | | | As a bonus this also removes one version of crossbeam-utils
* Update MPL license to https (part 4)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* Remove useless `use crate_name;` imports.Simon Sapin2018-11-081-1/+0
| | | | A `crate_name::foo` path always works in 2018
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-5/+5
|
* Reorder importsPyfisch2018-11-061-1/+1
|
* Sort `use` statementsSimon Sapin2018-11-061-2/+2
|
* `cargo fix --edition`Simon Sapin2018-11-061-6/+6
|
* Rustfmt layout cratePyfisch2018-09-011-42/+73
|
* Turn flow::base and friends into methodsMatt Brubeck2017-12-141-5/+5
|
* Use raw pointers instead of transmute for UnsafeFlowMatt Brubeck2017-10-041-14/+12
|
* style: Remove UnsafeNode.Emilio Cobos Álvarez2017-09-251-9/+1
| | | | No longer needed since a while ago.
* Eliminate the sequential/traversal parallel distinction in favor of a ↵Bobby Holley2017-08-251-2/+0
| | | | | | unified adaptive driver. MozReview-Commit-ID: ADVTNJntzmp
* Change the mis-named 'traverse_flow_tree_preorder' to 'reflow'Matt Brubeck2017-08-081-1/+2
|
* Fix spelling of `bottom_up_flow`Matt Brubeck2017-08-081-2/+2
|
* Code organization: Move all generic traversal code to layout::traversalMatt Brubeck2017-08-081-4/+4
|
* layout: Make -Z show-parallel-layout show something useful again.Emilio Cobos Álvarez2017-07-231-10/+7
|
* Reduce allocations during parallel layoutMatt Brubeck2017-06-061-7/+27
|
* Reduce parallel layout chunk size to 16Matt Brubeck2017-06-061-4/+1
|
* Rewrite parallel.rs to be not slow.Bobby Holley2017-05-211-1/+6
|
* Remove cached thread local context from LayoutContextPu Xingyu2017-02-081-146/+86
| | | | | Remove cached thread local context from LayoutContext, use LayoutContext for assign_inline_sizes(), and simplify the parallel flow traversal code.
* Introduce and use Scoped TLS.Bobby Holley2016-12-211-20/+17
| | | | | | | | | | | | | | | | It turns out that it's problematic to embed ThreadLocalStyleContext within LayoutContext, because parameterizing the former on TElement (which we do in the next patch) infects all the traversal stuff with the trait parameters, which we don't really want. In general, it probably makes sense to use separate scoped TLS types for the separate DOM and Flow tree passes, so we can add a different ScopedTLS type for the Flow pass if we ever need it. We also reorder the |scope| and |shared| parameters in parallel.rs, because it aligns more with the order in style/parallel.rs. I did this when I was adding a TLS parameter to all these functions, which I realized we don't need for now.
* Make the DomTraversalContext own the SharedStyleContext and share it ↵Bobby Holley2016-12-161-12/+16
| | | | | | | | | | immutably across the traversal. This allows us to get rid of a bunch of lifetimes and simplify a lot of code. It also lets us get rid of that nasty lifetime transmute, which is awesome. The situation with thread-local contexts is still suboptimal, but we fix that in subsequent patches.
* Removed util.Alan Jeffrey2016-12-141-1/+1
|
* style: Use rayon instead of our custom work queue.Emilio Cobos Álvarez2016-11-141-40/+50
|
* Reorder `use` statementsUK9922016-09-091-2/+2
|
* Pass a &mut Flow to traverse_flow_tree_preorder.Ms2ger2016-08-251-4/+4
|
* Move util::workqueue to styleAnthony Ramine2016-07-041-1/+1
|
* Store SharedStyleContext in AssignISizes.Ms2ger2016-06-221-2/+1
|
* Report use statements that use {} with only one entryCullen Rhodes2016-05-271-1/+1
|
* Removed unused importsPer Lundberg2016-05-151-2/+2
| | | | This fixes #11185.
* Rename imm_child_iter() and child_iter(). Fixes #10286malayaleecoder2016-04-091-1/+1
|
* Removed overflow references on AssignBSizesAndStoreOverflow codeDavid Bonet2016-03-171-3/+3
|
* Remove parallel display list constructionMartin Robinson2016-02-191-58/+2
| | | | | | | Parallel display list construction hasn't been shown to give any performance gains. It is also incompatible with the current flat display list implementation. Once flat display lists have landed, we can explore possible benefits of parallel construction once again.
* Bonus Fix - Rename traverse_dom_preorder to traverse_dom.Bobby Holley2016-01-061-1/+1
| | | | | The incorrect naming here was bugging me - the dom traversal has both pre- and post-order processing steps.
* Hoist the style parts of parallel.rs into style/.Bobby Holley2016-01-061-129/+3
|
* Hoist the style parts of traversal.rs into style/.Bobby Holley2016-01-061-3/+2
|
* Remove the dependency of parallel DOM traversal and style calculation on ↵Bobby Holley2016-01-061-36/+26
| | | | LayoutContext.
* Make parallel DOM traversal and style calculation operate on TNode instead ↵Bobby Holley2016-01-061-5/+4
| | | | of LayoutNode.
* Refactor parallel dom traversal to be agnostic to the processing steps ↵Bobby Holley2016-01-041-143/+88
| | | | themselves.
* Separate style+layout and layout-specific wrapper functionality.Bobby Holley2015-12-291-43/+27
| | | | | | | | | | | This patch does a number of things, unfortunately all at once: * Hoists a large subset of the layout wrapper functionality into the style system. * Merges TElementAttributes into the newly-created TElement. * Reorganizes LayoutData by style vs layout, and removes LayoutDataShared. * Simplifies the API for borrowing style/layout data. There's still more to do to make the style system usable standalone, but this is a good start.
* Generalize the rest of layout to operate on generic Layout*.Bobby Holley2015-11-281-24/+41
| | | | | | | There wasn't a good way to split this up, unfortunately. With this change, the only remaining usage of the Servo-specific structures is in layout_task, where the root node is received from the script task. \o/
* Rename Layout*Trait to Layout*.Bobby Holley2015-11-181-1/+1
| | | | | The next step will be to remote the Servo-specificity of the layout code we want to share by making it operate generically on Layout*.
* Prefix concrete types with 'Servo'.Bobby Holley2015-11-181-4/+4
|
* Hoist exported wrapper functionality into a family of traits.Bobby Holley2015-11-181-1/+1
| | | | | All the existing code still uses the concrete implementations, so this shouldn't impact the generated code at all.
* Remove dead code from layout.Ms2ger2015-11-181-12/+0
|