servo/components/layout
bors-servo bff5e325a8 Auto merge of #6802 - nnethercote:report-kind, r=jdm
Add a `kind` field to memory reports.

This is used for two memory reporting improvements.

- It's used to distinguish "explicit" memory reports from others. This
  mirrors the same categorization that is used in Firefox, and gives a single
  tree that's the best place to look. It replaces the "pages" tree which
  was always intended to be a temporary stand-in for "explicit".

- It's used to computed "heap-unclassified" values for both the jemalloc
  and system heaps, both of which are placed into the "explicit" tree.

Example output:
```
|  114.99 MiB -- explicit
|      52.34 MiB -- jemalloc-heap-unclassified
|      46.14 MiB -- system-heap-unclassified
|      14.95 MiB -- url(file:///home/njn/moz/servo2/../servo-static-suite/wikipe
dia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyc
lopedia.html)
|          7.32 MiB -- js
|             3.07 MiB -- malloc-heap
|             3.00 MiB -- gc-heap
|                2.49 MiB -- used
|                0.34 MiB -- decommitted
|                0.09 MiB -- unused
|                0.09 MiB -- admin
|             1.25 MiB -- non-heap
|          1.36 MiB -- layout-worker-3-local-context
|          1.34 MiB -- layout-worker-0-local-context
|          1.24 MiB -- layout-worker-1-local-context
|          1.24 MiB -- layout-worker-4-local-context
|          1.16 MiB -- layout-worker-2-local-context
|          0.89 MiB -- layout-worker-5-local-context
|          0.38 MiB -- layout-task
|             0.31 MiB -- display-list
|             0.07 MiB -- local-context
|       1.56 MiB -- compositor-task
|          0.78 MiB -- surface-map
|          0.78 MiB -- layer-tree
```
The heap-unclassified values dominate the "explicit" tree because reporter
coverage is still quite poor.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6802)
<!-- Reviewable:end -->
2015-07-29 19:42:00 -06:00
..
css Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
animation.rs Upgrade to rustc 1.3.0-dev (f3b97a74a 2015-07-03) 2015-07-04 11:32:41 +02:00
block.rs Implement getComputedStyle 2015-07-29 20:17:50 -04:00
Cargo.toml script: Make most of 2D canvas and WebGL run over IPC. 2015-07-25 00:50:12 -07:00
construct.rs Implement getComputedStyle 2015-07-29 20:17:50 -04:00
context.rs script: Make the ImageCacheTask use IPC. 2015-07-26 23:07:44 -07:00
data.rs Remove LayoutChan from LayoutDataWrapper 2015-07-04 03:54:40 -04:00
display_list_builder.rs Implement getComputedStyle 2015-07-29 20:17:50 -04:00
floats.rs Positioning fixes for RTL floats 2015-05-18 17:25:06 -07:00
flow.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
flow_list.rs Use usize in flow_list. 2015-03-29 12:43:44 +02:00
flow_ref.rs Remove Deref and DerefMut implementations from WeakFlowRef. 2015-06-27 18:09:14 +02:00
fragment.rs Implement getComputedStyle 2015-07-29 20:17:50 -04:00
generated_content.rs Fix #6680 2015-07-22 16:45:43 +03:00
incremental.rs Move to latest hyper everywhere 2015-06-02 20:12:14 +05:30
inline.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
layout_debug.rs Change not(ndebug) to debug_assertions 2015-06-01 13:48:38 -07:00
layout_task.rs Auto merge of #6802 - nnethercote:report-kind, r=jdm 2015-07-29 19:42:00 -06:00
lib.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
list_item.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
model.rs Change transforms to use LengthOrPercentage. 2015-07-28 09:42:05 +10:00
multicol.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
opaque_node.rs Replace OpaqueNodeMethods::from_{threadsafe_,}layout_node by opaque methods. 2015-06-24 14:55:43 +02:00
parallel.rs Remove unused implementation of ParallelPostorderFlowTraversal for BubbleISizes. 2015-07-23 19:30:43 +02:00
sequential.rs Move the traversal traits into the traversal module. 2015-07-17 11:40:40 +02:00
table.rs Move away from the repeat().take().collect() pattern. 2015-07-14 16:19:30 +02:00
table_caption.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
table_cell.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
table_colgroup.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
table_row.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
table_rowgroup.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
table_wrapper.rs Use euclid from crates.io 2015-06-19 00:04:24 +02:00
text.rs Implement getComputedStyle 2015-07-29 20:17:50 -04:00
traversal.rs Replace the StyledNode trait with inherent methods. 2015-07-27 19:57:33 +02:00
wrapper.rs Inline ThreadSafeLayoutNode::get_style. 2015-07-27 19:57:38 +02:00