Bug 1896186 Comment 14 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

I've described the fix in a comment I'm adding, but I'm getting strange build failures:

~~~~

Give `nsTArray` some advice on how to handle `MappedInfo::mViews`.

`JS::Heap` is marked `MOZ_NON_MEMMOVABLE`, meaning that it cannot
be safely relocated using `memmove`. `nsTArray.h` specializes
`nsTArray_RelocationStrategy` to indicate that `JS::Heap` can be
moved using its move constructor.

Since `MappedView::mArrayBuffer` is a `JS::Heap`, it is
automatically `MOZ_NON_MEMMOVABLE`. Since `MappedInfo::mViews`
holds an `nsTArray<MappedView>`, we must spell out `MappedView`'s
relocation strategy as well.
I've described the fix in a comment I'm adding, but I'm getting strange build failures:

> Give `nsTArray` some advice on how to handle `MappedInfo::mViews`.
>
> `JS::Heap` is marked `MOZ_NON_MEMMOVABLE`, meaning that it cannot
> be safely relocated using `memmove`. `nsTArray.h` specializes
> `nsTArray_RelocationStrategy` to indicate that `JS::Heap` can be
> moved using its move constructor.
>
> Since `MappedView::mArrayBuffer` is a `JS::Heap`, it is
> automatically `MOZ_NON_MEMMOVABLE`. Since `MappedInfo::mViews`
> holds an `nsTArray<MappedView>`, we must spell out `MappedView`'s
> relocation strategy as well.

Back to Bug 1896186 Comment 14