Review request for JDK-8062308
attila.szegedi at oracle.com
Thu Nov 6 13:41:43 UTC 2014
Please review JDK-8062308 at <http://cr.openjdk.java.net/~attila/8062308/webrev.00> for <https://bugs.openjdk.java.net/browse/JDK-8062308>
The gist of the issue is that we must maintain GlobalConstants objects per Context, and not as a single systemwide static in Global. Furthermore, as soon as the Context creates its second Global, we must disable the constant linking forever in that Context. Constant linking creates an intimate coupling between a Global and the compiled code, and is thus not compatible with multi-Global Contexts.
I have also reduced the synchronization burden in GlobalConstants somewhat (only synchronizing when state needs to be accessed), and reduced the need to even access GlobalConstants from ScriptObject when it's clear that the script object in question is not a Global.
More information about the nashorn-dev