Nicely done, Attila! I will follow up with the bugs you have found as soon as 
I’m done with the one I’m currently working on.

For a sanity check, can you run some octane benchmarks and make sure we didn’t 
lose any performance. I don’t think you need a full run. It should suffice to 
compare 3-4 iterations with —log=const and diff against same in tip to make 
sure that no callsites are missed that were picked up before.  +1 in that case.

Regard
Marcus


> On 06 Nov 2014, at 14:41, Attila Szegedi <[email protected]> wrote:
> 
> 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