JDK-6984705 : JSR 292 method handle creation should not go through JNI
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang.invoke
  • Affected Version: hs22,7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-09-14
  • Updated: 2013-07-22
  • Resolved: 2012-08-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
7u40Resolved 8 b52Fixed
Related Reports
Duplicate :  
The Hotspot reference implementation for JSR 292 uses a conservative technique for constructing method handle nodes:  It defers the low-level data structure initialization to native C++ code accessed via JNI.

Now that the internal implementation schema for method handle nodes is better understood, we should move the data structure initialization code into trusted Java code.

This will enable the dynamic compiler to make appropriate optimizations at points where method handles are created.  This is important, for example, for the bindTo and asInstance operations, which closures are likely to use, and which need to be aggressively optimized.

Honestly, I don't think this one is actually fixed. We listed this bug when we pushed the new JSR 292 implementation but we still call down into the VM twice(?) when we do a method lookup to create a MemberName object. I think we should try to lift up MemberName initializing code to Java as much as possible.

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/1d7922586cf6

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/jdk/rev/050116960e99

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1d7922586cf6

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/050116960e99