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 partridge and the rabbit are still sure to thrive, like true natives of the soil, whatever revolutions occur. If the forest is cut off, the sprouts and bushes which spring up afford them concealment, and they become more numerous than ever. That must be a poor country indeed that does not support a hare. Our woods teem with them both.”
—Henry David Thoreau (18171862)
“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)
“The very natural tendency to use terms derived from traditional grammar like verb, noun, adjective, passive voice, in describing languages outside of Indo-European is fraught with grave possibilities of misunderstanding.”
—Benjamin Lee Whorf (18971934)