Add runtime enforcement for instance properties
Summary:
This diff adds interpreter and jit support for enforcing internal on instance properties.
In general for property enforcement, when the property is statically known, we can check the modules check statically and easily. When it isn't, we always fall back to C++ code using minstr-helpers.cpp. Therefore, the implementation in the jit is rather straightforward.
- If we have a propInfo, we statically check that propInfo for modularity violations.
- If we don't, we default to using minstr-helpers.cpp, which calls the same C++ helpers as the interpreter code.
Reviewed By: oulgen
Differential Revision:
D38639723
fbshipit-source-id:
ee94b612063479cc3ab61deb39137c5c91fe0508