for review (XXL): 6655638 method handles for invokedynamic

John Rose John.Rose at Sun.COM
Tue Jan 20 02:53:16 PST 2009


This is part of the JVM side of the JSR 292 Reference  
Implementation.  It should have no effect on application execution,  
unless one of the new flags is turned on (chiefly -XX: 
+MethodHandleSupport).

Present limitations:
  - It works only on x86/32.  (No sparc, compressed oops, cpp  
interpreter.)
  - There are no compiler optimizations.
  - It is young code.  There are bugs.  But only when a new flag is  
turned on.

This review is for contents of meth.patch, to be pushed from mlvm to  
http://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot .

Here is the webrev for this review:
   http://webrev.invokedynamic.info/jrose/6655638.meth/

Here is the mlvm patch where the code currently lives:
   http://hg.openjdk.java.net/mlvm/mlvm/hotspot/raw-file/tip/meth.patch

An earlier version of these changes pass JPRT; it is expected that at  
most minor tweaks will be needed to push it through again.

Even though they are large, the changes should also pass a simple  
visual inspection, since all substantially new control paths are  
guarded by tests of the new flags.

Please give it a look.

-- John

P.S.  Here are some relevant conversations about method handles and  
invokedynamic:
   http://mail.openjdk.java.net/pipermail/mlvm-dev/2009-January/ 
000321.html
   http://blogs.sun.com/jrose/entry/international_invokedynamic_day
   http://blogs.sun.com/dannycoward/entry/firing_up_the_engines_for
   http://groups.google.com/group/jvm-languages/browse_thread/thread/ 
a4b8a616eb987ca8

P.P.S. The proposed JDK changes are independent.  At present, you can  
find them here, in patch and webrev formats:
   http://hg.openjdk.java.net/mlvm/mlvm/hotspot/raw-file/tip/ 
meth.proj.patch
   http://webrev.invokedynamic.info/jrose/6655638.meth.proj/




More information about the hotspot-compiler-dev mailing list