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.

Thanks,
  Attila.

Reply via email to