Auto merge of #15118 - jdm:reflector-barrier-crash, r=Ms2ger

Use Heap instead of UnsafeCell in DOM reflectors

The previous `Reflector` implementation did not use post barriers, so we could crash when storing nursery objects in a `Reflector` structure that were later moved out of the nursery.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15085
- [X] There are tests for these changes

<!-- 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/15118)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-01-24 14:11:50 -08:00 committed by GitHub
commit 023a9c55ec
4 changed files with 19 additions and 26 deletions

View file

@ -58,6 +58,7 @@
var p = new Promise(function() {});
var start = Date.now();
t.resolvePromiseDelayed(p, 'success', 100);
test.step_timeout(function() { window.gc() }, 0);
return p.then(function(v) {
var end = Date.now();
assert_greater_than_equal(end - start, 100);