RFR: 8175917: [JVMCI] Avoid long JNI handle chains

Christian Haeubl christian.haeubl at oracle.com
Fri Mar 3 14:22:37 UTC 2017


Hi,

The message below is just a duplicated message that was stuck in 
moderation. It can be ignored as the issue is already fixed.

- Christian


Am 01.03.2017 um 13:19 schrieb Christian Haeubl:
>
> Hi,
>
> Please review the following patch for 
> https://bugs.openjdk.java.net/browse/JDK-8175917:
> http://cr.openjdk.java.net/~never/8175917/webrev.001/
>
> Bug description:
> When Truffle uses JMVCI and Graal for compiling a guest language (e.g. 
> JavaScript), Graal heavily uses partial escape analysis. In such 
> cases, the JVMCI method "installCode" uses lots of local JNI 
> references when generating the corresponding debug information so that 
> the thread's top-level JNI handle buffer will have a large size. This 
> unnecessarily increases the footprint and significantly decreases the 
> performance (as long as 
> https://bugs.openjdk.java.net/browse/JDK-8175318 is not fixed).
>
> Fix:
> Around the JVMCI method "installCode", we do something similar to 
> JNI's PushLocalFrame/PopLocalFrame. So, the large JNI handle buffer is 
> released when the method exits and the thread's top-level JNI handle 
> buffer is not getting enlarged.
>
> Tests:
> The changes were tested locally by executing JVMCI bootstrapping and 
> parts of Graal / Truffle.
>
> Thanks,
> Christian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20170303/c0c18250/attachment.html>


More information about the hotspot-compiler-dev mailing list