Java Bytecode - Support For Dynamic Languages

Support For Dynamic Languages

The Java Virtual Machine provides some support for dynamically typed languages. Most of the existing JVM instruction set is statically typed - in the sense that method calls have their signatures type-checked at compile time, without a mechanism to defer this decision to run time, or to choose the method dispatch by an alternative approach.

JSR 292 (Supporting Dynamically Typed Languages on the Java™ Platform) added a new invokedynamic instruction at the JVM level, to allow method invocation relying on dynamic type checking (instead of the existing statically type-checked invokevirtual instruction). The Da Vinci Machine is a prototype virtual machine implementation that hosts JVM extensions aimed at supporting dynamic languages. All JVMs supporting J2SE 7 also include the invokedynamic opcode.

Read more about this topic:  Java Bytecode

Famous quotes containing the words support, dynamic and/or languages:

    “The interest in Wisdom is fading. Soon there will not be enough left to support the aphorism, even though it tries to amuse by half-mocking the Wisdom it propounds.”
    —Mason Cooley (b. 1927)

    “The nearer a conception comes towards finality, the nearer does the dynamic relation, out of which this concept has arisen, draw to a close. To know is to lose.”
    —D.H. (David Herbert)

    “It is time for dead languages to be quiet.”
    —Natalie Clifford Barney (1876–1972)