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