aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/parallel.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Consolidate ProfilerMetadata and TimerMetadata.Ms2ger2015-11-091-3/+3
| | | | | | | There is no good reason to have the two types. This also means that the result of LayoutTask::profiler_metadata no longer borrows the LayoutTask, which I'll need later.
* Change overflow calculation to be calculated after compute_absolute_position.Glenn Watson2015-11-031-3/+0
| | | | | | Also include absolutely positioned elements in the overflow rect calculation. Fixes #7797.
* Use the passed-in reflow root rather than the one stored in the ↵Ms2ger2015-10-261-13/+20
| | | | SharedLayoutContext.
* Rewrite ParallelPostorderDomTraversal::run_parallel to avoid some ↵Ms2ger2015-10-191-10/+9
| | | | unnecessary conversions between LayoutNode and UnsafeLayoutNode.
* Don't create a LayoutContext in ParallelPostorderDomTraversal::run_parallel.Ms2ger2015-10-191-3/+1
|
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-7/+6
|
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-6/+5
| | | | This merges import blocks that were reported by tidy as unmerged.
* layout: Allow the overflow area of the `<body>` to be scrolled.Patrick Walton2015-09-101-0/+3
| | | | Fixes scrolling on Twitter.
* Don’t mark flow_ref::deref_mut as unsafe.Simon Sapin2015-08-211-1/+1
| | | | See discussion in https://github.com/servo/servo/pull/7237
* Replace FlowRef with Arc<Flow>, now that Arc supports DST.Simon Sapin2015-08-201-14/+12
| | | | … and WeakFlowRef with Weak<Flow>.
* Replace the unsound `impl DerefMut for FlowRef` with an unsafe function.Simon Sapin2015-08-201-10/+12
| | | | See #6503.
* sort all usesJohann Tuffe2015-08-201-3/+3
|
* Replace uses of `for foo in bar.iter()`,João Oliveira2015-08-181-2/+2
| | | | | and `for foo in bar.iter_mut(), and for foo in bar.into_iter() (continuation of #7197)
* Fix existing syntactics nits.Josh Matthews2015-08-161-13/+13
|
* Cache the number of children of each nodeAnthony Ramine2015-07-311-2/+1
|
* Remove unused implementation of ParallelPostorderFlowTraversal for BubbleISizes.Ms2ger2015-07-231-2/+0
|
* Pass the SharedLayoutContext to FlowTraversalFunctions directly.Ms2ger2015-07-231-7/+4
|
* Remove the unused proxy argument to ↵Ms2ger2015-07-231-5/+3
| | | | ParallelPostorderFlowTraversal::run_parallel.
* Reduce the amount of code in the unsafe block in ↵Ms2ger2015-07-171-29/+31
| | | | ParallelPostorderFlowTraversal::run_parallel.
* Move the traversal traits into the traversal module.Ms2ger2015-07-171-2/+3
|
* Borrow the QueueData for WorkQueue::run.Ms2ger2015-07-041-34/+34
| | | | | This allows us to get rid of the raw pointers and unsafe dereferencing in the parallel layout implementation.
* Remove the data field from WorkQueue.Ms2ger2015-06-291-6/+1
| | | | It is only used in the run method.
* Pass shared_layout_context to run_queue_with_custom_work_data_type.Ms2ger2015-06-291-21/+14
|
* Auto merge of #6461 - Ms2ger:workqueuedata, r=pcwaltonbors-servo2015-06-261-4/+6
|\ | | | | | | | | | | | | | | | | | | | | | | Use a dedicated type for the opaque type parameter to WorkQueue in layout. Currently, we use UnsafeFlow and UnsafeLayoutNode, both of which are aliases for (usize, usize) and thus interconvertible. This change should make it clearer that the WorkQueue is not limited to one particular type. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6461) <!-- Reviewable:end -->
| * Use a dedicated type for the opaque type parameter to WorkQueue in layout.Ms2ger2015-06-251-4/+6
| | | | | | | | | | | | Currently, we use UnsafeFlow and UnsafeLayoutNode, both of which are aliases for (usize, usize) and thus interconvertible. This change should make it clearer that the WorkQueue is not limited to one particular type.
* | Reduce the scope of the unsafe block in ParallelPostorderDomTraversal.Ms2ger2015-06-251-16/+15
| |
* | Remove a no-op transmute in ParallelPostorderDomTraversal.Ms2ger2015-06-251-3/+0
|/
* Replace the LayoutDataAccess trait by inherent methods.Ms2ger2015-06-221-1/+1
|
* layout: Divide DOM nodes and flows into chunks, and perform work stealing overPatrick Walton2015-06-121-126/+170
| | | | | | | | those instead of working on nodes one-by-one. This reduces the overhead of the work-stealing traversal function significantly. It's especially important on ARM, where memory barriers are expensive.
* Fix mutable transmutesMichael Wu2015-05-191-6/+6
|
* Add a `profile_traits` crate to reduce compile times.Nicholas Nethercote2015-04-301-1/+1
| | | | | | | | | | A rebuild after touching components/profile/mem.rs now takes 48 seconds (and only rebuilds `profile` and `servo`) which is much lower than it used to be. In comparison, a rebuild after touching components/profile_traits/mem.rs takes 294 seconds and rebuilds many more crates. This change also removes some unnecessary crate dependencies in `net` and `net_traits`.
* Use isize with children_count members.Ms2ger2015-04-021-2/+4
| | | | I'm not size why these are signed.
* Use usize for UnsafeFlow.Ms2ger2015-03-291-1/+1
|
* Suppress unused import warningsFabrice Desré2015-03-251-1/+1
|
* Rename lots of profiling-related things.Nicholas Nethercote2015-03-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ BEFORE AFTER ------------------------------------------------------------------------ util::memory util::mem - heap_size_of - heap_size_of (unchanged) - SizeOf - HeapSizeOf - size_of_excluding_self - heap_size_of_children prof::mem prof::mem - MemoryProfilerChan - ProfilerChan - MemoryReport - Report - MemoryReportsChan - ReportsChan - MemoryReporter - Reporter - MemoryProfilerMsg - ProfilerMsg - {R,UnR}egisterMemoryReporter - {R,UnR}egisterReporter - MemoryProfiler - Prof - ReportsForest - ReportsForest (unchanged) - ReportsTree - ReportsTree (unchanged) - SystemMemoryReporter - SystemReporter prof::time prof::time - TimeProfilerChan - ProfilerChan - TimerMetadata - TimerMetadata (unchanged) - Formatable - Formattable [spelling!] - TimeProfilerMsg - ProfilerMsg - TimeProfilerCategory - ProfilerCategory - TimeProfilerBuckets - ProfilerBuckets - TimeProfiler - Profiler - TimerMetadataFrameType - TimerMetadataFrameType (unchanged) - TimerMetadataReflowType - TimerMetadataReflowType (unchanged) - ProfilerMetadata - ProfilerMetadata (unchanged) In a few places both prof::time and prof::mem are used, and so module-qualification is needed to avoid overlap, e.g. time::Profiler and mem::Profiler. Likewise with std::mem and prof::mem. This is not a big deal.
* Move profiler code from `util` into a new crate `profile`.Nicholas Nethercote2015-03-241-3/+3
| | | | | | | | | - Most of util::memory has been moved into profile::mem, though the `SizeOf` trait and related things remain in util::memory. The `SystemMemoryReporter` code is now in a submodule profile::mem::system_reporter. - util::time has been moved entirely into profile::time.
* Replace unsafe_blocks by unsafe_code.Manish Goregaokar2015-03-211-1/+1
|
* Fix various build warnings.Ms2ger2015-03-201-5/+5
|
* Get rid of servo_utilDan Fox2015-03-051-3/+3
|
* layout/layout_data.rs -> layout/data.rsDan Fox2015-03-031-1/+1
|
* Rename util.rs -> layout_data.rsDan Fox2015-03-031-2/+2
|
* layout: Add an option to visualize parallel layoutPatrick Walton2015-02-201-18/+25
|
* Opt-in rather than opt-out to unsafe blocks in layout.Ms2ger2015-02-081-0/+2
|
* Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev.Josh Matthews2015-01-281-36/+36
|
* Stop calling deref() and deref_mut() explicitly.Ms2ger2015-01-221-8/+8
|
* Use std::sync::atomic::Ordering explicitly.Ms2ger2015-01-221-5/+5
|
* Rename TimeProfilerCategory variants.Ms2ger2015-01-041-3/+5
|
* compositing: Implement `cursor` per CSS3-UI § 8.1.1 in the CEF/Mac port.Patrick Walton2014-12-171-11/+5
| | | | | I'm not sure how we want to handle Linux cursors, and GLFW has no ability to set cursors (short of disabling it and managing it yourself).
* Change time::profile's meta booleans to enums.Timothy B. Terriberry2014-12-051-7/+7
| | | | | | | | This makes these parameters self-documenting. This patch does not attempt to push those enums into the data structures that feed calls to this function. Fixes #4158.
* Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8aJack Moffitt2014-11-131-2/+2
|