Commit Graph

23 Commits

Author SHA1 Message Date
Savid Sharan
e95ebd0de1 servo: Merge #18906 - Removed pdqsort dependency under the style crate (from savanu:pdqsortchange); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Removed the pdqsort dependency from the style crate.
Removed the sort_by_key method and used the stdlib version directly.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16120 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is covered by existing tests.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: eecee32a0b139096e8fe268590536b2eb5ac911d
2017-10-16 21:50:04 -05:00
Bobby Holley
493b7e524d servo: Merge #18779 - DiagnosticHashMap (from bholley:canary_and_journal); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1405879

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f4afbafab7c0a8bfcf596ea444269bb01af3955
2017-10-07 14:55:03 -05:00
Bobby Holley
691fecfbfd servo: Merge #18732 - Revert #18668 - Add mprotect diagnostics for HashMap crash (except for round-up-to-page behavior) (from bholley:revert_mprotect_diagnostics); r=bholley
These diagnostics have served their purpose, time to remove them.

https://bugzilla.mozilla.org/show_bug.cgi?id=1403397

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b69887387567d1bbaa93fe874014a925ef9fe05
2017-10-03 14:45:33 -05:00
Bobby Holley
ac27616eec servo: Merge #18668 - Add mprotect diagnostics for HashMap crash (from bholley:mprotect_diagnostics); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1403397

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d2ac4aa2e746daf312198278369686627360895
2017-09-28 19:10:46 -05:00
Nicholas Nethercote
32af6cf8e2 servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
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.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tested on Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f4cb1861b172423781a369b2decca6c65d60546
2017-09-11 22:11:25 -05:00
Emilio Cobos Álvarez
3a32b8dd78 servo: Merge #18434 - Bug 1395064 - stylo: Add uses of fallible Vec, SmallVec and HashMap f… (from julian-seward1:master); r=bholley
…acilities.  r=emilio@crisal.io.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: be804a8155b0a942324f564df569233d13c97dcd
2017-09-10 12:30:39 -05:00
Emilio Cobos Álvarez
afb6788d1f servo: Merge #18428 - style: remove selector_map::find_push (from emilio:find-push); r=nox
It has a single caller and is overly generic, which is going to make harder to
add fallible allocations to it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 91b748ec22a952063c9e00870d4a788bc3799a18
2017-09-09 07:56:35 -05:00
Nicholas Nethercote
4a8aa7e7de servo: Merge #18387 - Measure SmallVecs in SelectorMap and InvalidationMap (from nnethercote:measure-smallvec); r=heycam
<!-- Please describe your changes on the following line: -->

This is another ~300 KiB on the Obama wikipedia page.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because testing is on the Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: 6051e5ed021b10f1ac89a2865765a46f4358f02f
2017-09-06 01:39:35 -05:00
Emilio Cobos Álvarez
b70bbee2fd servo: Merge #18384 - style: Don't waste a whole selector map for each class / id in the document (from emilio:invalidation-map-bloat); r=bholley
On top of #18375, only last commit needs review.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4721ef81fd7fb6ee15546a6abe140a66ce0280e8
2017-09-05 12:51:17 -05:00
Manish Goregaokar
1080df440b servo: Merge #18334 - Add fallible hashmaps from HashGlobe for stylo (from Manishearth:hashglobe); r=emilio,Gankro
HashGlobe code is r=emilio,Gankro

integration code is r=emilio from https://bugzilla.mozilla.org/show_bug.cgi?id=1393656

Source-Repo: https://github.com/servo/servo
Source-Revision: ac7cf536927a42a5cece379c53d6f39813a77d71
2017-09-01 16:09:53 -05:00
Emilio Cobos Álvarez
576ac2258a servo: Merge #18087 - style: Cleanup a bit Stylist and SelectorMap (from emilio:stylist-clear-cleanup); r=heycam
Bug: 1390255
Reviewed-by: heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: b300800b2c450f325c0308e9dcd7ec0113498e37
2017-08-16 02:56:13 -05:00
Emilio Cobos Álvarez
8829f3d285 servo: Merge #17992 - style: Rework how precomputed pseudo stuff works, to avoid malloc/free churn (from emilio:rework-precomputed-pseudo); r=heycam
This showed up in a few profiles, and was an easy improvement.

Source-Repo: https://github.com/servo/servo
Source-Revision: 69f02f4f7f102a3fe3f82d5f000533a9277d233e
2017-08-08 04:25:24 -05:00
Emilio Cobos Álvarez
6000227dd7 servo: Merge #17998 - style: Remove outdated comments (from emilio:outdated); r=SimonSapin
(And tidy a bit a misindented function while at it).

Source-Repo: https://github.com/servo/servo
Source-Revision: 82de4c49f378aed7c9497ba6995020fa79dbf942
2017-08-07 13:21:42 -05:00
Emilio Cobos Álvarez
eb5935b954 servo: Merge #17993 - style: Avoid hashing the precomputed hash atoms already have (from emilio:rehash); r=SimonSapin
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: b11b65837930fff7ec793e935af46d7edbeccda5
2017-08-07 07:13:38 -05:00
Bobby Holley
65ccfd57a3 servo: Merge #17988 - Use a 1-entry smallvec in the selector maps (from bholley:smallvec_selectormap); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1363789

Source-Repo: https://github.com/servo/servo
Source-Revision: 19d862a984d11c9d4f97d50924ad2d5fdabaf7e9
2017-08-07 02:00:02 -05:00
Emilio Cobos Álvarez
00c028995b servo: Merge #17707 - stylo: Waste less memory in invalidation stuff and style rules (from emilio:invalidation-less-memory); r=heycam
This should help a lot with https://bugzilla.mozilla.org/show_bug.cgi?id=1380488.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9515abbca396c176e6a5c603a193573ac0cb9e33
2017-07-13 04:15:15 -07:00
Bobby Holley
7bc7317f26 servo: Merge #17439 - Match compound selectors left-to-right (second try) (from bholley:compound_left_to_right); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1373800

Source-Repo: https://github.com/servo/servo
Source-Revision: b211664e877a3e4d712314fa7f3002fd19cff549
2017-06-21 09:28:43 -07:00
Emilio Cobos Álvarez
cdc25756af servo: Merge #17292 - style: Implement a more fine-grained invalidation method (from emilio:better-style-invalidation); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 07f6e114850896eae2fd206351808fb31cceaaf0
2017-06-13 04:56:09 -07:00
Simon Sapin
920407d98b servo: Merge #17213 - ID and class selectors are ASCII case-insensitive in quirks mode (from servo:quirk-case); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b077303237d5ecb8307f866e9172d0d8e6b132d
2017-06-12 15:52:29 -07:00
Bobby Holley
a59bc7deb4 servo: Merge #17281 - Pack bloom filter hashes better and save a word on Rule (from bholley:shrink_rule_again); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1371949

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d6796cbd1274c3711472d1a8b728c3cf6ac70c
2017-06-12 12:41:39 -07:00
Bobby Holley
6d91bbdd99 servo: Merge #17179 - shrink Rule and store all heap-allocated selector data inline (from bholley:one_selector_allocation); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370107

Source-Repo: https://github.com/servo/servo
Source-Revision: 74ea8ce3ed6aa3d7edfe05924f196ccbe57daed6
2017-06-05 20:10:28 -07:00
Boris Zbarsky
def4eeb343 servo: Merge #17055 - Allow style sharing for elements with ids as long as the ID is not being used for styling (from bzbarsky:sharing-across-ids); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix part of the problem we're seeing in https://bugzilla.mozilla.org/show_bug.cgi?id=1367862

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the only impact is on performance and memory.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 429db6a3c617ba147312e245f9a69d170c50d43f
2017-06-05 11:05:00 -07:00
Emilio Cobos Álvarez
0994f42bec servo: Merge #16990 - Remove dead code in restyle_hints submodule, and move SelectorMap to its own submodule (from emilio:selector-map); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: f35c7a577d6b2709bf75592e091479774d55bae7
2017-05-23 08:40:37 -05:00