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 for, support, dynamic and/or languages:

    The community and family networks which helped sustain earlier generations have become scarcer for growing numbers of young parents. Those who lack links to these traditional sources of support are hard-pressed to find other resources, given the emphasis in our society on providing treatment services, rather than preventive services and support for health maintenance and well-being.
    Bernice Weissbourd (20th century)

    Any relation to the land, the habit of tilling it, or mining it, or even hunting on it, generates the feeling of patriotism. He who keeps shop on it, or he who merely uses it as a support to his desk and ledger, or to his manufactory, values it less.
    Ralph Waldo Emerson (1803–1882)

    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)

    I am always sorry when any language is lost, because languages are the pedigree of nations.
    Samuel Johnson (1709–1784)