From:  Tooru Fujisawa <>
Date:  30 Sep 2016 18:16:08 Hong Kong Time

Changes to JS::Value and jsval_layout alignment


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.