United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6969574 invokedynamic call sites deoptimize instead of executing
6969574 : invokedynamic call sites deoptimize instead of executing

Details
Type:
Bug
Submit Date:
2010-07-15
Status:
Closed
Updated Date:
2013-04-15
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs19

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

Sub Tasks

Description
Due to a bug in ciTypeFlow, invokedynamic call sites deoptimize unexpectedly.

The problem was observed by a customer:

http://mail.openjdk.java.net/pipermail/mlvm-dev/2010-June/001767.html

Eric Bodden bodden at st.informatik.tu-darmstadt.de 
Fri Jun 4 01:43:19 PDT 2010

I did some simple micro-benchmarking with the current implementation
of invokedynamic. In the attached test class, I call a method
"greeter" 100,000,000 times using invokedynamic and then using
reflection. Reflection only takes about 1338ms, while invokedynamic
takes about 12099. (This was taken on OSX 10.6, with build
"1.7.0-internal-stephen_2010_05_28_19_48-b00"). By the way
invokedynamic works, I had expected it to be at least as fast as a
reflective call.

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e0ba4e04c839
                                     
2010-07-29
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/e0ba4e04c839
                                     
2010-07-25
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e0ba4e04c839
                                     
2010-07-17
SUGGESTED FIX

http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/6cea47a2de3d/indy-deopt-badly.patch
                                     
2010-07-15



Hardware and Software, Engineered to Work Together