| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This reverts commit f5c5be00a7df984647364dfc84c0c9bc6d3e2f34.
|
|
|
|
| |
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
|
|
|
|
|
| |
This will help Xidorn implement tree pseudos, and in general makes sense,
allowing to put specific matching data in a selectors implementation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.
This patch makes the following changes to the `malloc_size_of` crate.
- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
(e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).
- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
support that operation.
- For `HashSet`/`HashMap`, falls back to a computed estimate when
`enclosing_size_of_op` isn't available.
- Adds an extern "C" `malloc_size_of` function that does the actual heap
measurement; this is based on the same functions from the `heapsize` crate.
This patch makes the following changes elsewhere.
- Converts all the uses of `heapsize` to instead use `malloc_size_of`.
- Disables the "heapsize"/"heap_size" feature for the external crates that
provide it.
- Removes the `HeapSizeOf` implementation from `hashglobe`.
- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
doesn't derive those types, unlike `heapsize`.
|
| |
|
|
|
|
| |
MozReview-Commit-ID: C0a5g6xMPY0
|
| |
|
|
|
|
| |
MozReview-Commit-ID: K0m65uZi7iw
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.
The patch does the following.
- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
into a new crate, malloc_size_of.
- Forks the heapsize_derive crate, calling it malloc_size_of, so that
MallocSizeOf can be derived.
- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
incorporated into heapsize in the future.
- Renames the methods within MallocSizeOf and the related traits so they are
more concise.
- Removes MallocSizeOfWithGuard.
- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
equivalent or almost-equivalent hand-written implementation.
- Adds stuff so that Rc/Arc can be handled properly.
|
|
|
|
|
| |
Bug: 1395064
Reviewed-by: emilio
|
|
|
|
|
| |
It has a single caller and is overly generic, which is going to make harder to
add fallible allocations to it.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This moves us to clear on rebuild, which allows us to remove yet another place
where we track stylist dirtiness.
Bug: 1390255
Reviewed-by: heycam
MozReview-Commit-ID: nihQbUAbh8
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
|
|
|
|
|
| |
MozReview-Commit-ID: 5b2X0GL2753
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
|
|
|
|
|
|
|
| |
This showed up in a few profiles, and was an easy improvement.
MozReview-Commit-ID: HVqATaSB2Ak
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
|
| |
|
|
|
|
| |
incorrectly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This shaves a fair amount of time of stylist rebuild.
Most of the extra remaining overhead are memory allocations...
I'll try to get those sorted out next, though fixing that may overlap quite a
bit with the work Cameron is doing in bug 1382925.
MozReview-Commit-ID: 3j2SBY4QnKf
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
|
|
|
|
| |
MozReview-Commit-ID: 1JPkVxs3cdP
|
| |
|
|
|
|
|
|
| |
Dependencies are very numerous, and now we shouldn't be getting so many of them.
Style rules just don't need them, so it's a waste of memory.
|
|
|
|
| |
MozReview-Commit-ID: CWwdVCwWijn
|
|
|
|
|
|
| |
selector maps.
MozReview-Commit-ID: 8qIl4k3RxaC
|
|
|
|
|
|
|
|
|
|
|
| |
This commit also removes the old restyle_hints module and splits it into
multiple modules under components/style/invalidation/element/.
The basic approach is to walk down the tree using compound selectors as needed,
in order to do as little selector-matching as possible.
Bug: 1368240
MozReview-Commit-ID: 2YO8fKFygZI
|
|
|
|
| |
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778
|
|
|
|
| |
MozReview-Commit-ID: EXnAzfyoZ1e
|
|
|
|
|
|
| |
by another word.
MozReview-Commit-ID: 7B1i1g0HLTj
|
|
|
|
|
|
| |
instead.
MozReview-Commit-ID: KLqmdRKygO0
|
|
|
|
|
|
| |
The refcounting is still internal. We'll fix that up next.
MozReview-Commit-ID: CTxZNaR3Qgj
|
|
|
|
| |
MozReview-Commit-ID: 5mipXnjgSED
|
|
|
|
| |
used for styling.
|
| |
|
|
|