United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6984705 JSR 292 method handle creation should not go through JNI
JDK-6984705 : JSR 292 method handle creation should not go through JNI

Details
Type:
Bug
Submit Date:
2010-09-14
Status:
Closed
Updated Date:
2013-07-22
Project Name:
JDK
Resolved Date:
2012-08-15
Component:
core-libs
OS:
generic
Sub-Component:
java.lang.invoke
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs22,7
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Backport:
Duplicate:

Sub Tasks

Description
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.

                                    

Comments
EVALUATION

yes
                                     
2010-09-14
EVALUATION

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

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

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

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/1d7922586cf6
                                     
2012-08-11
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.
                                     
2013-05-09



Hardware and Software, Engineered to Work Together