Review request for JDK-8062308
marcus.lagergren at oracle.com
Thu Nov 6 13:57:58 UTC 2014
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.
> On 06 Nov 2014, at 14:41, Attila Szegedi <attila.szegedi at oracle.com> 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.
More information about the nashorn-dev