servo/components
bors-servo 47e4c48feb Auto merge of #16833 - MortimerGoro:layout_alignment, r=SimonSapin
Fix unsafe AtomicRefCell<T>  transmutes in Layout component

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16833)
<!-- Reviewable:end -->
2017-05-12 20:44:02 -05:00
..
atoms Allow 'decimal' and 'none' in <counter-style-name> 2017-04-26 13:04:27 +09:00
bluetooth Use servo_config::opts only on linux target. 2017-03-21 15:55:45 +01:00
bluetooth_traits Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
canvas Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07:00
canvas_traits Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07:00
compositing Make non-initial about:blank loads asynchronous 2017-05-12 11:53:43 -06:00
config Add default value to layout.threads in prefs.rs (fix15638) 2017-05-11 15:28:37 -05:00
constellation Make non-initial about:blank loads asynchronous 2017-05-12 11:53:43 -06:00
debugger Enable the debugger on Android 2017-03-17 16:36:06 +01:00
deny_public_fields Update syn to 0.11 2017-02-27 14:46:50 +01:00
devtools Fix indentation errors in servo rust code that tidy now finds. 2017-04-18 14:56:13 -04:00
devtools_traits Update Hyper and OpenSSL 2017-03-31 16:32:21 +02:00
dom_struct Make #[dom_struct] a proc_macro attribute 2017-02-24 01:50:51 +01:00
domobject_derive Update syn to 0.11 2017-02-27 14:46:50 +01:00
geometry Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
gfx Auto merge of #16756 - servo:rustup, r=jdm 2017-05-08 16:06:56 -05:00
gfx_traits Eliminate ScrollRootId 2017-04-20 08:51:38 +02:00
jstraceable_derive Update syn to 0.11 2017-02-27 14:46:50 +01:00
layout Auto merge of #16833 - MortimerGoro:layout_alignment, r=SimonSapin 2017-05-12 20:44:02 -05:00
layout_thread style: Parameterize the update and rebuild methods to take an iterator. 2017-05-12 14:50:59 +02:00
layout_traits Make ImageCacheImpl have a single Mutex<ImageCacheStore> and use ImageDecoderRunnable 2017-03-27 19:54:15 +02:00
msg Auto merge of #16506 - cbrewster:about_chaos, r=asajeffrey 2017-05-12 15:08:45 -05:00
net Use hash2 instead of deprecated hash 2017-05-08 13:39:28 -04:00
net_traits Stop using unstable slice_patterns feature 2017-05-01 14:19:00 -07:00
profile Remove servo feature from servo_config 2017-04-07 17:44:22 +10:00
profile_traits Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
rand
range Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
remutex Upgrade to rustc 1.19.0-nightly (ced823e26 2017-05-07) 2017-05-08 12:46:03 +02:00
script Auto merge of #16506 - cbrewster:about_chaos, r=asajeffrey 2017-05-12 15:08:45 -05:00
script_layout_interface Auto merge of #16833 - MortimerGoro:layout_alignment, r=SimonSapin 2017-05-12 20:44:02 -05:00
script_plugins Stop using unstable slice_patterns feature 2017-05-01 14:19:00 -07:00
script_traits Make non-initial about:blank loads asynchronous 2017-05-12 11:53:43 -06:00
selectors Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07:00
servo Make image cache per-document rather than global 2017-03-27 19:54:13 +02:00
style Auto merge of #16847 - glandium:master, r=bholley 2017-05-12 19:11:31 -05:00
style_traits Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07:00
url Remove servo feature from servo_url 2017-04-07 17:51:49 +10:00
webdriver_server Make non-initial about:blank loads asynchronous 2017-05-12 11:53:43 -06:00
webvr Update WR (new groove/ridge border path, mix-blend-mode optimizations) 2017-04-26 14:34:07 +10:00
webvr_traits Implement Gamepad API 2017-04-12 15:43:14 +02:00