From:  Tooru Fujisawa <arai.unmht@gmail.com>
Date:  30 Sep 2016 18:16:08 Hong Kong Time
Newsgroup:  news.mozilla.org/mozilla.dev.tech.js-engine.internals
Subject:  

Changes to JS::Value and jsval_layout alignment

NNTP-Posting-Host:  63.245.214.181

Hi all.

Another tree-wide change.
I'm working on making JS::Value to always be aligned to 8 bytes [1]
To make it possible, we need to avoid using raw JS::Value, jsval_layout and any other types that contain JS::Value as parameter type, due to MSVC's restriction.

So, if you're going to add new function that will receive JS::Value or some struct that contains JS::Value as a parameter, please use pointer, refenrece, or const reference, (or HandleValue for JS::Value).

I'll land changes to convert existing JS::Value related parameters to const reference shortly,
and also add attribute for static analysis build to throw error for raw JS::Value parameter later.
also, jsval_layout will be folded into JS::Value [2]

Thank you for your attention.

arai

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1290337
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1304191