Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6655638
Votes 1
Synopsis dynamic languages need method handles
Category hotspot:compiler2
Reported Against
Release Fixed 7(b56), hs16(b01) (Bug ID:2177675)
State 10-Fix Delivered, request for enhancement
Priority: 3-Medium
Related Bugs 6812678 , 6812831 , 6824466 , 6829142 , 6829144 , 6829187 , 6829192 , 6829193 , 6829194 , 6829195 , 6831604
Submit Date 27-JAN-2008
Description
http://blogs.sun.com/jrose/entry/notes_on_an_architecture_for
http://blogs.sun.com/jrose/entry/method_handles_in_the_vm (forthcoming)

One pain point in dynamic language implementation is calling
dynamically linked code under a variety of names, containing classes,
and signatures.  The JVM's static linking and typing rules, which usually
serve to enforce system integrity, get in the way with dynamic languages.

A method handle can be formed on any method, with suitable access check performed at the point of handle creation (not call).  The handle will allow its target to be accessed from any caller which obtains the handle.  It is a low-level function pointer.

Because method handles are low-level monomorphic (singly-typed) objects, they behave as if they possess instance-specific behavior.  They also exhibit descriptor polymorphism, in that different instances can respond to calls with different argument and return signatures.  Neither of these features are available in the current JVM, except by simulating with combinatorially complex system of signature interfaces, or inefficient reflection.

The interesting operations on method handles are about the same as with any system of functional types:

- creating one from an isolated method
- creating one from a bit of code, with associated data values
- invoking one on some arguments
- creating an adapter around one
- asking one for its argument and return types
Posted Date : 2008-01-27 02:18:29.0
Work Around
N/A
Evaluation
http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e5b0439ef4ae
Posted Date : 2009-04-10 00:55:53.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang