Turbo-charging JDK 7 for multiple languages


John's excellent post on invokedynamic is a reminder that tuning the JVM to turbo-charge multiple languages running thereon is not a task for the faint of heart.

This new bytecode instruction that compilers for other languages will be able to use in JDK 7 (and some have already experimented with in the early builds) is not the only technique that will likely make it as part of JSR 292. But this technique is the most promising: it allows programmatic control over the dynamic linking of a method invocation, which has many uses, but is particularly useful for dynamically typed languages where the type information is not held in the source code, so can only be calculated reliably at runtime.

And the DaVinci project is a breeding ground for experimentation and prototyping of this and a number of other techniques in the same vein: some of which require changes to the specifications, and some of which don't. Remi gave a nice talk on this earlier this month at FOSDEM. Those others that have a reasonable chance to making it into JSR 292, include lightweight method objects (useful for languages that have closures), and interface injection (useful for languages where types in a running JVM evolve synamically).
Comments:

By dividing the living rooms into equal squares, it turns out that for most games, many of the squares contain unused toys that can be safely put away.http://www.watchgy.com/
http://www.watchgy.com/tag-heuer-c-24.html

Posted by rolex replica on December 27, 2009 at 01:53 PM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

A blog all about Java in all its flavors on all client platforms from smartcards to desktops and everything inbetween.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Feeds