gecko-dev/servo/tests/unit
Imanol Fernandez c3ef7be747 servo: Merge #16833 - Fix unsafe AtomicRefCell<T> transmutes in Layout component (from MortimerGoro:layout_alignment); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Fixes unsafe transmute between `AtomicRefCell<PersistentLayoutData>` and `AtomicRefCell<PartialPersistentLayoutData>` which have different memory alignment in 32 bit archs leading to SEGV crashes. See https://github.com/servo/servo/issues/16817 and https://github.com/servo/servo/pull/16816

mem::align_of values in 32 bit archs (e.g. Android):
```
PersistentLayoutData 8
PersistentLayoutData 4
AtomicRefCell<PersistentLayoutData> 8
AtomicRefCell<PartialPersistentLayoutData> 4
```
mem::align_of values in 64 bit archs
```
PersistentLayoutData 8
PersistentLayoutData 8
AtomicRefCell<PersistentLayoutData> 8
AtomicRefCell<PartialPersistentLayoutData> 8
```

---
<!-- 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 #16817 (github issue number if applicable).

<!-- Either: -->
- [x] 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: 47e4c48feb12e4189f11fd94631f0abea5827f91

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 51c494d499c304cd69e5504acc1ed8399afada05
2017-05-12 20:44:02 -05:00
..
gfx servo: Merge #16224 - Make the parser accept @font-face rules without font-family or src (from servo:valid-fontface); r=upsuper 2017-04-03 03:53:09 -05:00
layout servo: Merge #16833 - Fix unsafe AtomicRefCell<T> transmutes in Layout component (from MortimerGoro:layout_alignment); r=SimonSapin 2017-05-12 20:44:02 -05:00
net servo: Merge #16288 - Kill ResourceGroup (from nox:net); r=jdm 2017-04-07 05:53:31 -05:00
net_traits servo: Merge #13517 - Moved pub_domains to net_traits and did a spring clean (from asajeffrey:net-traits-pub-domain); r=mbrubeck 2016-09-30 21:57:36 -05:00
profile servo: Merge #15588 - Update serde to 0.9 (from servo:serde); r=SimonSapin 2017-02-18 12:10:26 -08:00
script servo: Merge #16712 - Changed all prefixes from DOMString to the atomic Prefix from html5ever (from z1mvader:atomize_ns_prefix); r=SimonSapin 2017-05-03 13:33:56 -05:00
servo_config servo: Merge #14863 - Allow cli prefs to have numerical value (from charlesvdv:prefs); r=jdm 2017-01-05 12:09:01 -08:00
servo_remutex servo: Merge #14592 - Remove the util crate (from asajeffrey:util-goodbye); r=mbrubeck 2016-12-14 16:48:42 -08:00
style servo: Merge #16802 - style: Slim down SharedStyleContext, and do various other cleanups around the style crate (from emilio:slim-down-slc); r=bholley 2017-05-12 08:56:47 -05:00
stylo servo: Merge #16815 - Bump cssparser to 0.13.3 (from Manishearth:cssup); r=metajack 2017-05-11 16:10:23 -05:00