United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6829187 compiler optimizations required for JSR 292
JDK-6829187 : compiler optimizations required for JSR 292

Details
Type:
Bug
Submit Date:
2009-04-11
Status:
Resolved
Updated Date:
2010-04-02
Project Name:
JDK
Resolved Date:
2010-01-19
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs17 (b07)

Related Reports
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
The JITs (C1, C2) must not bail out to the interpreter when they encounter an invokedynamic call site.  Rather, they must load the target method from the CallSite and perform a MethodHandle.invoke call on it, and possibly also call the bootstrap method.  The target method, if available at compile time, should be optimistically inlined, as if for a bimorphic call site.  Bail-outs to the interpreter should be limited to deoptimizations, as with other dynamically typed call sites.

The structure of the target method handle should be reified to the compiler as a "synthetic method", a ciMethod or even a real methodOop.  In this way the usual bytecode parser can be used to generate the IR for it.  This design will also allow method handles to be shrink-wrapped when necessary, as (for example) in interface injection.

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/97125851f396
                                     
2010-01-05



Hardware and Software, Engineered to Work Together