United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6655646 dynamic languages need dynamically linked call sites
JDK-6655646 : dynamic languages need dynamically linked call sites

Details
Type:
Enhancement
Submit Date:
2008-01-27
Status:
Closed
Updated Date:
2011-03-08
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:
hs16 (b02)

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

Sub Tasks

Description
See "Notes on an Architecture for Dynamic Invocation"
http://blogs.sun.com/jrose/entry/notes_on_an_architecture_for

Dynamic languages have rich, loosely-linked call sites.  The present JVM architecture supports Java call sites directly, and these are statically linked, with carefully limited dynamic linking and dispatch.  It is difficult to emulate more dynamic call sites; the simulation overheads make for complex implementation, voluminous bytecodes, slow interpreted execution, and poor optimizability in the JIT.

The solution is JVM support for a new sort of call site, sometimes called "invokedynamic".  This is the prime deliverable of JSR 292.

In JSR 292 Expert Group deliberations so far, dynamic call sites appear to require a separate, lower-level facility for specifying independent units of behavior, called called method handles (6655638).  The present RFE would add dynamic (re-)linking and an architecture for programmable method guards (type dispatch) to obtain the desired dynamic call sites.

                                    

Comments
EVALUATION

http://cr.openjdk.java.net/~jrose/6829144/
                                     
2009-04-11
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/be93aad57795
                                     
2009-04-22



Hardware and Software, Engineered to Work Together